12得票7回答
安卓碎片返回栈

我在我的项目中使用了多个碎片。我想保存一个碎片的状态,并在我回到这里时恢复这个状态。在这个碎片中,我展示了多张图片,这些图片在按钮点击时会改变。我使用以下代码实现:String backStateName = fragment.getClass().getName(); FragmentMan...

12得票1回答
Android导航组件 - 向上导航打开相同的片段

我遇到了一个问题,在执行时findNavController(R.id.main_nav_host).navigateUp() 或者findNavController(R.id.main_nav_host).popBackStack() 与其返回回退栈中的上一个片段,它重新打开/导航到相同/当...

10得票2回答
不出现闪烁的情况下管理Fragment返回栈流程

我创建了一个 AppCompatActivity 打开的 Fragment A->B->C->D->E->F,使用 replace()。 我现在在 F 页面,当我按下按钮时,我想清除 C 页面及其之前所有的页面,并打开 G 页面并放在 C 的顶部,所以新的页面顺序是 A->B->C->G。我...

9得票6回答
有没有办法交换或重新排序片段BackStack条目?

我正在创建一个多片段应用程序,需要轻松更改片段选项卡,其BackStack条目必须保留。在用户单击片段时,必须立即弹出片段。我认为重新排序BackStack是最好的选择。有人知道如何重新排序BackStack吗? 我有5个片段A、B、C、D、E。如果用户像A->B->C->D->E这样打开片...

8得票2回答
如果不存在,如何将BackStackEntry添加到BackStack中

我已经为我的Fragment添加了自定义键盘,现在我想在后退时实现关闭键盘的功能。 class CustomKeyboard { public void init(Context context) { //... FragmentManager fr...

8得票1回答
当使用返回堆栈时,TabLayout ViewPager不加载

我在一个碎片中使用了TabLayout和ViewPager,在选项卡下方的两个碎片之间进行切换。 当我点击一个下方碎片中的FAB时,我加载一个新的(输入)碎片。 然而,当我按下BACK按钮时,TabLayout会显示出来,但是没有任何一个下方的碎片(由页面表示)。 所以我做错了什么? ...

7得票3回答
使用Fragments / 工具栏进行后退导航

我现在有一个问题,我有一个ActionBarActivity加载一个初始的Fragment - 原始菜单是在活动中填充的。现在,我有一个导航栏,当选择项目时,会加载不同的片段并将其添加到返回堆栈中。 当我这样做时,有几件事情我想设置: 将主页设置为向上指示器 使主活动的选项菜单无效 将片...

7得票2回答
Android碎片未添加到返回堆栈

我正在开发一个基于NavigationDrawer的应用程序。我的层次结构如下所示: NavigationDrawer --> 根Fragment(未添加到返回堆栈)--> 详细Fragment(已添加到返回堆栈) 现在,我想在用户按下返回按钮退出应用程序时向用户显示一条消...

7得票2回答
防止同一片段重复堆叠(addToBackStack)

我有一个Activity,其中包含三个片段,我们称它们为A、B和C。在Activity的onCreate()方法中调用FragmentA。 FragmentA fragA = new FragmentA(); FragmentTransaction transaction = manager...

7得票1回答
当前片段的onCreateView在按下返回按钮时为什么会被调用?

我正在尝试从后台堆栈中检索Fragment。它被检索出来了,但问题是按下返回按钮后,当前Fragment的onCreateView和后续生命周期方法也被调用了。这是将Fragment放入后台堆栈的代码: fragment=new FileTrackingFragment(); bundle=...