后退按钮转到 Android 中的另一个 Activity 而不是父级 Activity
Back Button to go another Activity not parent Activity in Android
我用这段代码创建了一个后退按钮
getActionBar().setHomeButtonEnabled(true);
getActionBar().setDisplayHomeAsUpEnabled(true);
以便用户回到父级 Activity。
但现在我希望用户返回到另一个 Activity(而不是父 activity)。我该怎么做?
您必须从 activity:
中覆盖 onBackPressed()
@Override
public void onBackPressed()
{
super.onBackPressed();
startActivity(new Intent(ThisActivity.this, NextActivity.class));
finish();
}
Note : In this code ThisActivity
is your current Activity and NextActivity
is which you open Activity on Back Button Click.
处理操作栏主页按钮按下事件并执行您的逻辑
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
// Your desired class
startActivity(new Intent(ThisActivity.this, NextActivity.class));
break;
}
return true;
}
试试这个方法,
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_file, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
Intent about = new Intent(MainActivity.this,Target.class);;
startActivity(about);
finish();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
here android.R.id.home
refer to your Back icon which is in ActionBar
将此添加到清单中,为您的 activity 名称修改它
<activity
android:name="SecondActivity"
android:parentActivityName="ParentActivity" >
<!-- Parent activity meta-data to support 4.0 and lower -->
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.app_name.A" />
</activity>
然后您应该在 Child 或第二个 Activity 中添加如下代码,无需像下面
那样仅传递 finish()
当前 activity 意图
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
Intent intent = new Intent(SecondActivity.this,ParentActivity.class);
startActivity(about);
finish();
return true;
default:
return super.onOptionsItemSelected(item);
}
我用这段代码创建了一个后退按钮
getActionBar().setHomeButtonEnabled(true);
getActionBar().setDisplayHomeAsUpEnabled(true);
以便用户回到父级 Activity。 但现在我希望用户返回到另一个 Activity(而不是父 activity)。我该怎么做?
您必须从 activity:
中覆盖onBackPressed()
@Override
public void onBackPressed()
{
super.onBackPressed();
startActivity(new Intent(ThisActivity.this, NextActivity.class));
finish();
}
Note : In this code
ThisActivity
is your current Activity andNextActivity
is which you open Activity on Back Button Click.
处理操作栏主页按钮按下事件并执行您的逻辑
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
// Your desired class
startActivity(new Intent(ThisActivity.this, NextActivity.class));
break;
}
return true;
}
试试这个方法,
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_file, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
Intent about = new Intent(MainActivity.this,Target.class);;
startActivity(about);
finish();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
here
android.R.id.home
refer to your Back icon which is inActionBar
将此添加到清单中,为您的 activity 名称修改它
<activity
android:name="SecondActivity"
android:parentActivityName="ParentActivity" >
<!-- Parent activity meta-data to support 4.0 and lower -->
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.app_name.A" />
</activity>
然后您应该在 Child 或第二个 Activity 中添加如下代码,无需像下面
那样仅传递finish()
当前 activity 意图
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
Intent intent = new Intent(SecondActivity.this,ParentActivity.class);
startActivity(about);
finish();
return true;
default:
return super.onOptionsItemSelected(item);
}