570得票36回答
非法状态异常:在ViewPager的onSaveInstanceState之后无法执行此操作。

我从应用市场获取用户报告,显示以下异常:java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState at android.app.FragmentManagerImpl.check...

112得票11回答
片段生命周期 - 在显示/隐藏时调用哪个方法?

我正在使用以下方法在我的导航抽屉中切换片段(Fragment),通过显示/隐藏它们。protected void showFragment(int container, Fragment fragment, String tag, String lastTag, boolean addToBa...

79得票2回答
新的FragmentTransaction commitNow()方法在内部是如何工作的?

Android N和支持库版本24中新增的commitNow()方法文档有限且有些令人困惑。 同步提交此事务。在此调用返回之前,任何添加的片段都将被初始化并完全带到其宿主的生命周期状态,并且任何删除的片段都将相应地被拆除。以这种方式提交事务允许将片段添加为专用的封装组件,以监视其宿主的生命周...

65得票3回答
FragmentManager和FragmentTransaction究竟是做什么的?

我有下面这段简单的代码FragmentManager fragmentManager = getFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); fr...

50得票7回答
Android FragmentTransaction已经调用了commit

我的错误: java.lang.IllegalStateException:已调用提交 我的代码:final FragmentTransaction fragmentTransaction =getFragmentManager().beginTransaction(); f1_frag...

46得票7回答
抽屉式布局中的项目点击 - 何时更换碎片才是正确的时间?

我正在开发一个应用程序,使用导航抽屉模式(带有DrawerLayout)。 每次点击抽屉的项目,都会替换主容器中的片段。 然而,我不确定何时是正确的时间进行片段事务? 当抽屉开始关闭时?还是在关闭后? 在谷歌的 documentaion example 中,您可以看到他们在项目点击后立即...

37得票3回答
当按下返回按钮时如何用片段A替换片段C?

我的情况: 活动1包含片段A-> B-> C。所有片段都使用以下代码添加: FragmentManager fm = getSupportFragmentManager(); FragmentTransaction ft = fm.beginTransaction...

37得票1回答
何时使用FragmentTransaction的attach和detach方法

我刚刚查看了 FragmentTransaction 的 attach() 和 detach() 方法的文档: attach(): 在使用detach(Fragment)方法将片段从UI中移除之后重新附加一个片段。这将导致其视图层次结构被重新创建,附加到UI并显示。 那么,这意味着...

37得票8回答
使用replace()方法执行FragmentTransaction后,findFragmentByTag()返回null

我的安卓应用包含三个片段:A、B和C。它们加载在MainActivity布局中定义的两个容器中。 当应用启动时,左侧容器中加载fragmentA,右侧容器中加载fragmentC。 如果您按下fragmentA中的按钮,则FragmentTransaction通过FragmentB更改Fr...

35得票5回答
一个不可见的布局在Fragment后面被点击了:

我已经创建了几个片段,我会以以下方式添加第一个片段:mainFragment = (MainFragment) MainFragment.create(); getSupportFragmentManager().beginTransaction() .setCustomAni...