假设我有一个源自MainActivity A的ListFragmentA。用户按下List A中的列表,然后转到FragmentActivityB。FragmentActivity包含3个选项卡选项卡。

因此,我想向上导航至FragmentActivity B,以便其返回到ListFragmentA。我该如何处理?

这是我的尝试,到目前为止没有运气:

public class ItemDetailActivity extends FragmentActivity implements ActionBar.TabListener {
    ...

    actionBar.setDisplayHomeAsUpEnabled(true);

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case android.R.id.home:
                LatestFragment fragment = new LatestFragment();
                getSupportFragmentManager().beginTransaction()
                        .replace(R.id.pager, fragment).addToBackStack(null)
                        .commit();
                return true;
            default:
                return super.onOptionsItemSelected(item);
        }
    }
}


LatestFragment是我想回到的ListFragmentA。

但是,我收到一条错误消息,说我必须实现OnLatestSelectedListener,因为在LatestFragment中,我已经放置了一个接口来传递值。

我还能进入onOptionsItemSelected里面吗?

最佳答案

假设您使用标准意图启动了ItemDetailActivity,那么您应该仅能够使用如下所示的返回操作:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case android.R.id.home:
            super.onBackPressed();
            finish();
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}

10-07 20:55