如何从另一个活动返回到以前的Tab布局特定选项卡(片段)?

时间:2016-07-28 06:18:20

标签: android android-fragments

enter image description here

首先,我在StackOverflow上搜索并阅读了一些相关的帖子,但它并没有真正解决我的问题。从屏幕截图中,您可以看到我在AndroidManifest中添加了一些编码,它会在左上角添加一个“箭头” - 它作为后退按钮。

AndroidManifest.xml

<activity android:name=".MainStory"
        android:parentActivityName=".MainActivity">

        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value=".MainActivity" />

在我的MainActivity标签3片段

public void onListItemClick(ListView l, View v, int position, long id) {

        Intent intent = new Intent(getActivity(),MainStory.class);
        startActivity(intent);

}

因此,从屏幕截图中,我在Tab 3中使用了ListFragment 。点击其中一个项目后,它将转到MainStory活动。如果我点击设备“后退按钮”,它将返回到MainActivity Tab 3(这就是我想要的)。

然而,当我点击“箭头”时,它将返回MainActivity标签1,但不会返回MainActivity的标签3.

所以我的问题是如何在点击它时回到 Tab 3 Fragment 就像设备“后退按钮”一样?

2 个答案:

答案 0 :(得分:1)

尝试在工具栏上执行以下操作:

protected Toolbar setUpToolBar(String title) {
Toolbar toolbar = (Toolbar) findViewById(R.id.appbar);
setSupportActionBar(toolbar);
ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
  actionBar.setTitle(Html.fromHtml("<font color=\"#ffffff\">" + title + "</font>"));
  actionBar.setHomeButtonEnabled(true);
  actionBar.setDisplayHomeAsUpEnabled(true);
} else {
  AMLog.d("Action bar is null");
}
if (toolbar != null) {
  toolbar.setNavigationOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
      onBackPressed();
    }
  });
}
return toolbar;

}

答案 1 :(得分:0)

这样做,对我有用:

@Override
public boolean onSupportNavigateUp() {
    finish(); // Returns you to the last tab that you were before navigating
    return false; // Cancels out the default action that takes you back to the 1st tab
}

希望有帮助,

欢呼