我有活动AActivity,称为活动BActivity。
在AndroidManifest
我指定B如下:
<activity android:name=".main.BActivity"
android:parentActivityName=".main.AActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".main.AActivity" />
</activity>
如果我在Activity B
并点击了手机的后退按钮,那么我会回到Activity A
,而无需再次致电A.onCreate();
- &#39我希望它如何。但如果我在Activity B
并点击左上方的ActionBar's Back button
,那么我会再次返回Activity A
,但会调用A.onCreate();
。如何使用活动顶部的后退按钮以电话后退按钮的方式运行,即不调用StartingActivity.onCreate()?
顺便说一句:活动A和B从AppCompatActivity
延伸。
答案 0 :(得分:1)
在OnClick(View view)
函数调用finish()
内。
Related guide
答案 1 :(得分:1)
您可以在清单内部活动中使用android:launchMode="singleTop"
答。请阅读以下链接以获取更多详情return parent activity correctly
答案 2 :(得分:0)
finish()
onBackPressed()
onOptionsItemSelected()
和id == android.R.id.home
@Override
public void onBackPressed(){
if(EcologDriverAIDApplication.DEBUG){
Log.i(TAG, "onBackPressed");
}
finish();
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
//Back button pressed
if (id == android.R.id.home) {
finish();
return true;
}
return super.onOptionsItemSelected(item);
}
答案 3 :(得分:0)
如何使用活动顶部的后退按钮以电话后退按钮的方式运行,即不调用StartingActivity.onCreate()?
//declare android:onClick="backButtonPressed" in your xml in the back button layout
public void backButtonPressed(View view) {
onBackPressed();
}
为什么它应该有效:
当您按下android的底部后退按钮时,会调用onBackPressed()
。正如您所说,底部后退按钮水龙头按您希望的方式工作。因此,只需从操作栏后退按钮的点击监听器中调用它