如何将返回堆栈添加到我的选项卡布局?

How can i add back stack to my tab layout?

在我的项目中,我在选项卡布局中使用了查看页面适配器,但无法将返回堆栈添加到选项卡布局中

如何将返回堆栈添加到我的选项卡布局中

我为这个项目使用了 android studio

    protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            tabLayout=findViewById(R.id.tablayout);
            viewPager=findViewById(R.id.viewPager);
            ViewPageAdapter adapter =new 
            ViewPageAdapter(getSupportFragmentManager());
            adapter.AddFragment(new BlankFragment(),"first");
            adapter.AddFragment(new BlankFragment2(),"second");
            adapter.AddFragment(new BlankFragment3(),"third");
            viewPager.setAdapter(adapter);
            tabLayout.setupWithViewPager(viewPager);
}

需要获取选项卡布局的 backstacks

您可以像这样在 onBackPressed() 方法中处理后退按钮

override fun onBackPressed() {
       if(viewPager.currentItem > 0){
            viewPager.currentItem = viewPager.currentItem - 1
        }else {
            super.onBackPressed()
        }
}

您能做的最好的事情就是将标签位置保存在列表中 当用户切换标签时。将用户导航到特定选项卡并在他单击返回时从列表中删除元素,直到列表中没有元素。

还要确保您在保存的列表中没有重复的位置,这样用户在按返回时不会转到相同的选项卡。

再说一遍,这不是实现选项卡布局的好方法。用户通常不会期望在单击后退按钮时转到上一个选项卡。他们希望转到上一个屏幕/退出应用程序。