草庐IT

backStack

全部标签

android - 按顺序从backstack中获取所有 fragment

我在我的应用项目中使用了Fragments。所有fragment都添加到返回堆栈:...fragmentTransaction.addToBackStack(null);...稍后,从返回堆栈中按顺序获取所有fragment的正确方法是什么? 最佳答案 使用getBackStackEntryCount(),您可以遍历返回堆栈并使用getBackStackEntryAt()方法获取每个fragment。编辑:根据评论中的一些讨论,建议您手动存储已添加到后台堆栈的fragment列表,并将这些保存到您的SharedPreferences

android - 如何获取对最后一个 backstack 弹出 fragment 的引用?

我添加、显示和隐藏fragment。每次我添加/显示fragment时,我都会隐藏前一个fragment并将事务添加到后台堆栈。当用户按下后退按钮时,会弹出一个fragment,我想引用它。为什么我需要推荐信?所以我可以在用户继续下一个fragment时隐藏它。那么,我如何获得对弹出fragment的引用?EDIT-25-04-2013:下面的代码解释了如何添加新fragment,同时隐藏前一个fragment。问题是如何在从后台弹出(使用后退按钮)后获取对最后一个fragment的引用?FragmentTransactionfragmentTransaction=getFragmen

从 backStack 返回 fragment 后,Android ViewPager 无法正确显示

我有一个ViewPager设置,它使用fragment来显示我可以循环显示的不同图标,以便用户可以导航不同的菜单选项。ViewPager中的每个项目都包含在一个Fragment中,如下所示:publicstaticFragmentnewInstance(MainHandheldActivitycontext,intpos){Bundleb=newBundle();b.putInt("pos",pos);returnFragment.instantiate(context,ObjectFragment.class.getName(),b);}@OverridepublicViewonCr

android - 在 viewpager 中使用 backstack 和 back 按钮

我正在使用viewpager在fragment之间滑动,并希望后退按钮导航到之前查看的fragment而不是结束Activity。抱歉,如果这是thisquestion的副本但是我没有发现答案很有帮助。显然onBackPressed需要被覆盖,但我不知道如何获取和显示正确的fragment。我假设我应该使用fragmentmanager的后台堆栈,但getSupportFragmentManager().getBackStackEntryCount()总是返回0。我需要使用FragmentTransaction.addToBackStack()?如果是这样,我应该在我的适配器中的什么地

android - 将 backstack 与 ViewPager 结合使用

我正在使用ViewPager在我的Android应用程序中实现滑动。但是,我希望在用户使用后退按钮而不是结束Activity时显示上一个fragment。有什么办法吗?谢谢塞巴斯蒂安 最佳答案 我遇到了类似的问题,我就是这样解决的。我有一个包含6个fragment的ViewPager,我想跟踪页面历史记录并能够使用后退按钮在历史记录中向后导航。我创建了一个java.util.Stack对象,向其添加fragment编号(使用后退按钮时除外,见下文),并覆盖onBackPressed()当我的历史堆栈不为空时,让它弹出最后查看的fra

Android - 限制 backStack 中的 fragment 数量?

目前我有一项Activity,正在向其中添加fragment(搜索、歌曲详细信息、设置等)。我实现了基于侧面的菜单导航,所以现在,作为副作用,添加到Backstack的fragment数量没有限制。有什么方法可以限制fragment的数量,或者删除较旧的条目吗?例如,每个歌曲详细信息fragment都有一个推荐的歌曲列表,通过它您可以转到另一个歌曲详细信息fragment。后台堆栈中很可能有30个fragment,如果您打开DDMS,您可以看到堆大小缓慢(但肯定)增加。编辑:我确实尝试做的一件事是,如果用户单击了一个侧边菜单选项,如果该fragment已经在后台堆栈中,则尝试返回到该f

android - 无论如何交换或重新排序 fragment BackStack 条目?

我正在创建多个fragment应用程序,这需要轻松更改fragment选项卡,必须保留其BackStack条目。用户点击fragment必须立即弹出。我认为重新排序BackStack是最好的选择。有谁知道如何重新排序BackStack?我有5个fragmentA、B、C、D、E。如果用户打开像A--->B--->C--->D--->E这样的fragment。使用默认的后退堆栈,后退键可以正常工作。但是当用户打开A--->B--->C--->D--->E--->B之后,如果用户点击返回,默认返回堆栈将转到A。 最佳答案 这个用例没有a

android - AsyncTask、Fragments、Views 和 Backstacks

我一直在使用这种模式。这是一个非常人为的AsyncTask+进度指示器示例:newAsyncTask(){WeakReferenceweakFragment=newWeakReference(MyFragment.this);@OverrideprotectedvoidonPreExecute(){Fragmentfragment=weakFragment.get();if(fragment!=null)fragment.getView().findViewById(R.id.progress).setVisibility(View.VISIBLE);}@Overrideprotect

android - 如果不存在,如何将 BackStackEntry 添加到 BackStack

我已将自定义键盘添加到我的Fragment,现在我想在按下后退时实现关闭键盘。classCustomKeyboard{publicvoidinit(Contextcontext){//...FragmentManagerfragmentManager=((Activity)context).getFragmentManager();booleanfragmentPopped=fragmentManager.popBackStackImmediate(TAG,0);if(!fragmentPopped){FragmentTransactionfragmentTransaction=fra

Flutter 通过支持返回上一个片段在片段之间切换

在thislink在顺丰,@martinseal1987向我们展示如何使用分离的小部件链接与android片段。我在我的项目中实现了这个解决方案,在运行项目之后,我没有任何问题将第一个小部件显示为Fragment,但是当我按下返回按钮时,我的屏幕变黑并且无法作为片段返回之前的小部件我认为应该是这样的:问题在navigateBack和customPop方法上,我可以通过按按钮附加片段import'package:flutter/material.dart';voidmain(){runApp(MaterialApp(title:'AndroidMonks',home:Scaffold(a