我正在制作这个项目,我的MainActivity中有3个固定标签。在选项卡2和3上,我有一些按钮,可以将用户导航到新的片段活动。在片段活动中,我使用了ActionBar.setDisplayHomeAsUpEnabled(true)。我的问题是,我想将用户带回到前一个片段(现在使用操作栏中的向上按钮和后退按钮完成),但我想让用户访问之前的选项卡。当我使用后退按钮上升时,我将转到我开始新片段的选项卡。但是当我在操作栏中使用upIntent时,我会看到标签1.我该如何解决这个问题?
这是来自片段活动的代码,其中找到了upIntent操作栏按钮。
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
Intent upIntent = new Intent(this, MainActivity.class);
if (NavUtils.shouldUpRecreateTask(this, upIntent)) {
TaskStackBuilder.from(this)
// If there are ancestor activities, they should be added here.
.addNextIntent(upIntent)
.startActivities();
finish();
} else {
NavUtils.navigateUpTo(this, upIntent);
}
return true;
}
return super.onOptionsItemSelected(item);
}
答案 0 :(得分:0)
所以我设法找到了解决方案。我将onOptionsItemSelected布尔值更改为:
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
ClassName.this.finish();
return true;
}
return super.onOptionsItemSelected(item);
}