导航到上一个片段并销毁当前片段

4xy9mtcn  于 2021-07-05  发布在  Java
关注(0)|答案(1)|浏览(328)

我使用导航图实现了许多片段。假设我有a->b->c->d,其中a,b,c,d是按实现顺序排列的片段。现在我在片段d上,我想点击d中的按钮移动到片段c。我该怎么做?同样,当我到达碎片c并按下后退按钮时,它会把我带到碎片b。我想实现对上一个片段的导航并销毁当前片段。i、 e从d移到c并销毁d(不要按后退按钮)。

lbsnaicq

lbsnaicq1#

您可以使用下面的代码来获取viewpager的当前位置:

int position = mViewPager.getCurrentItem();
//or
Fragment fragment = adapter.getItem(position);

因此也可以使用此代码动态转到您想要的选项卡,因此在按钮单击侦听器中设置此代码:

viewpager.setCurrentItem(specificFragmentPosition);
// like this: viewpager.setCurrentItem(2);

对于第二个问题,您必须重写片段中的onbackpressed()方法,当用户单击“上一步”按钮时,该方法调用该方法。。。
所以你可以在onbackpressed()方法中再次添加这段代码,

viewpager.setCurrentItem(specificFragmentPosition);

相关问题