我有3个活动:


MainActivity(使用网格视图启动活动)
FragmentActivity(从网格视图访问的全屏图像滑块)
InfoActivity(从Main或Fragment中的菜单打开空白活动)


当我从MainActivity转到InfoActivity时:

startActivity(new Intent(MainActivity.this, InfoActivity.class));


然后按“向上”按钮,我回到主要活动。

当我从FragmentActivity转到InfoActivity时

 startActivity(new Intent(this, InfoActivity.class));


并按“向上”,我仍然返回MainActivity。

我知道这是因为我的MainActivity是Info的父级。

但是,如何使“向上”的行为类似于“后退”按钮,以便可以从InfoActivity转到FragmentActivity?

任何帮助都感激不尽!

最佳答案

您必须重写onOptionsItemSelected类中的InfoActivity来拦截"up"按钮并从此处调用onBackPressed。像这样:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    if(item != null && item.getItemId() == android.R.id.home) {
        onBackPressed();
        return true;
    }
    return super.onOptionsItemSelected(item);
}

08-18 13:22