【问题标题】:Navigate to previous fragment and destroy present fragment导航到上一个片段并销毁当前片段
【发布时间】:2020-09-04 13:03:44
【问题描述】:

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

【问题讨论】:

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


    【解决方案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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-19
      • 1970-01-01
      相关资源
      最近更新 更多