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

Android 如何从另一个活动返回到上一个选项卡布局特定的选项卡(片段)?,android,android-fragments,Android,Android Fragments,首先,我搜索了StackOverflow并阅读了一些相关文章,但这并没有真正解决我的问题。从屏幕截图中,您可以看到我在AndroidManifest中添加了一些代码,它将在左上角添加一个“箭头”——它用作后退按钮 AndroidManifest.xml <activity android:name=".MainStory" android:parentActivityName=".MainActivity"> <meta-data

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

AndroidManifest.xml

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

        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value=".MainActivity" />
public void onListItemClick(ListView l, View v, int position, long id) {

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

}
因此,从屏幕截图来看,我在标签3处,有一个列表片段。单击其中一个项目后,它将转到主目录活动。如果我单击设备“后退按钮”,它将返回MainActivity选项卡3(这是我想要的)

但是,当我单击“箭头”时,它将返回到MainActivity选项卡1,而不是MainActivity的选项卡3。


因此,我的问题是如何返回到选项卡3片段,就像单击设备上的“后退按钮”一样?

尝试在工具栏上执行类似操作:

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;
受保护的工具栏设置工具栏(字符串标题){
Toolbar Toolbar=(Toolbar)findViewById(R.id.appbar);
设置支持操作栏(工具栏);
ActionBar ActionBar=getSupportActionBar();
if(actionBar!=null){
actionBar.setTitle(Html.fromHtml(“+title+”);
actionBar.setHomeButtonEnabled(真);
actionBar.setDisplayHomeAsUpEnabled(true);
}否则{
AMLog.d(“操作栏为空”);
}
如果(工具栏!=null){
toolbar.setNavigationOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
onBackPressed();
}
});
}
返回工具栏;

}

这样做,对我来说很有效:

@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
}
希望有帮助


干杯

此代码与您在onBackPressed中的操作相同。toolbar.setNavigationOnClickListener单击