我想回到当前活动的先前活动。
所以我将此代码添加到当前活动
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
//super.onBackPressed();
//NavUtils.navigateUpFromSameTask(this);
this.finish();
return true;
}
return super.onKeyDown(keyCode, event);
}
但它根本不会发射。
我缺少什么?
答案 0 :(得分:1)
覆盖onOptionsItemSelected()
中的Activity
方法:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home: // the default resource ID of the actionBar's back button
Intent intent = new Intent(CurrentActivity.this, TargetActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
finish();
break;
}
return true;
}
您使用id
获得点击的菜单项item.getItemId()
,
然后你检查它是否等于android.R.id.home
,即actionBar后退按钮的默认资源ID。
FLAG_ACTIVITY_CLEAR_TASK
标志完成所有旧活动。