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

时间:2020-09-04 13:03:44

标签: java android android-fragments navigation android-navigation-graph

我已经使用导航图实现了许多片段。考虑我有A-> B-> C-> D 其中A,B,C,D是按实现顺序排列的片段。现在我在片段D上,我想单击D中的一个按钮移至片段C。我该怎么做?同样,当我到达片段C并按下“后退”按钮时,应该带我到片段B。我想实现到上一个片段的导航并销毁当前片段。即,从D移至C并销毁D(不希望通过按后退按钮将其移出)。

1 个答案:

答案 0 :(得分:1)

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

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

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

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

,对于第二个问题,您必须重写片段中的onBackPressed()方法 当用户单击后退按钮时,此方法将调用...

因此您可以再次在onBackPressed()方法中添加此代码,

viewpager.setCurrentItem(specificFragmentPosition);