我已经使用导航图实现了许多片段。考虑我有 A-> B-> C-> D 其中 A、B、C、D 是按实现顺序排列的片段。现在我在片段 D 上,我想通过单击 D 中的按钮移动到片段 C。我该怎么做?此外,当我到达片段 C 并按下后退按钮时,它应该将我带到片段 B。我想实现到前一个片段的导航并销毁当前片段。即从 D 移动到 C 并摧毁 D(不希望它按下后退按钮)。
1 回答
1
你可以使用下面的代码,你可以得到你的viewpager的当前位置:
int position = mViewPager.getCurrentItem();
//or
Fragment fragment = adapter.getItem(position);
因此也可以使用此代码动态转到您想要的选项卡,因此在按钮单击侦听器中设置此代码:
viewpager.setCurrentItem(specificFragmentPosition);
// like this: viewpager.setCurrentItem(2);
对于第二个问题,您必须在片段中覆盖 onBackPressed() 方法,当用户单击后退按钮时,此方法会调用...
所以你可以在你的 onBackPressed() 方法中再次添加这段代码,
viewpager.setCurrentItem(specificFragmentPosition);
于 2020-09-04T20:48:53.553 回答