假设我有一个源自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);
}
}