jjzjj

FragmentManager

全部标签

android - 尝试 commitAllowingStateLoss 时出现 FragmentManager NullPointerException

上下文:我有一个Activity,其中包含一个Fragment和3个InnerFragments。当调用FragmentonDestroy()时,我想从FragmentManager中删除内部fragment。onDestroy()的代码如下。问题:FragmentManager抛出NullPointerException,可能是在调用commitAllowingStateLoss()时。我不明白为什么。@OverridepublicvoidonDestroy(){super.onDestroy();if(getFragmentManager().findFragmentById(R.

android - 如何使用 FragmentManager 在 FrameLayout 中显示 fragment A、B、C...?

亲爱的StackOverflow用户,我的Android应用程序目前有一个大问题。我的所有Activity都使用Fragments,我在这里阅读了所有文档:http://developer.android.com/guide/topics/fundamentals/fragments.html我的应用程序现在在手机和平​​板电脑上看起来非常酷。我的问题:我有一个显示包含在FrameLayout中的fragment的布局(请参见底部的屏幕截图)所以,这是fragmentA的屏幕截图。现在,我想在单击左键时将fragmentA替换为fragmentB、或C,或...如您在我的xml中所见,

java - fragment 声明的目标 fragment 不属于这个 FragmentManager

我做了一个ActivityA,其中有一个fragmentX。在fragmentX中,EditText项具有打开fragmentY的单击事件。此fragment显示名称列表。我按下列表中的一个名称,fragmentY关闭并将所选名称发送到fragmentXEditText。这是我写的代码:YFragmenty=newYFragment();y.setTargetFragment(x.class,code);getActivity().getSupportFragmentManager().beginTransaction().replace(R.id.frame,y).addToBack

android - 空指针异常 : FragmentManager. beginTransaction()

我在尝试从第一个fragment启动fragment时遇到此错误:java.lang.NullPointerException:Attempttoinvokevirtualmethod'android.app.FragmentTransactionandroid.app.FragmentManager.beginTransaction()'onanullobjectreference这是我遇到错误的方法:@OverridepublicvoidonClick(Viewv){Fragmentfragment=newPropertyFragment();if(fragment!=null){

android - FragmentManager - IllegalStateException - 无主机

我遇到了这个堆栈跟踪的非常奇怪的问题:FatalException:java.lang.IllegalStateExceptionNohostandroid.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1194)android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1189)android.support.v4.app.FragmentManagerImpl.dispatchActivityCrea

android - 为什么 FragmentManager 的 getBackStackEntryCount() 返回零?

privatestaticvoidchangeFragment(Fragmentf,booleaninit){FragmentTransactionft=fm.beginTransaction();ft.replace(R.id.info_content,f,f.getClass().getName());if(!init){ft.addToBackStack(null);}ft.commit();}当我想通过调用fm.getBackStackEntryCount()获取堆栈cout时,它返回零? 最佳答案 您必须在ft.commi

android - FragmentManager popBackStack 不删除 fragment

我正在使用fragment实现菜单导航。所以我从主页开始,然后用户可以导航到不同的部分和每个部分的详细信息。当用户更改部分时,我会在fragmentmanagerbackstack上调用pop直到到达主页,然后加载新部分。这一切都按预期工作。但是我遇到了这个问题:加载一个在onResume()上调用setHasOptionsMenu(true)的部分加载另一个部分(它应该从堆栈中取出的旧部分)。我看还行。没有显示菜单离开应用程序(例如,转到AndroidLaucherActivity),然后当我返回时,我看到了正确的部分,但它显示的是旧Fragment的菜单。我已经迭代了后台堆栈并打印

android - 如何从 FragmentManager 中删除之前的返回堆栈条目?

我有一个Activity,我在其中使用以下方法切换fragment:publicvoidsetCurrentFragment(Fragmentfragment){FragmentTransactiontransaction=getSupportFragmentManager().beginTransaction();transaction.setCustomAnimations(R.anim.slide_left_right_in,R.anim.slide_left_right_out,R.anim.slide_right_left_in,R.anim.slide_right_left

android - FragmentManager 已经在执行事务。提交后何时初始化寻呼机是安全的?

我有一个托管两个fragment的Activity。该Activity在加载对象时开始显示加载程序。然后通过newInstance方法将加载的对象作为参数传递给两个fragment,并附加这些fragment。finalFragmentTransactiontrans=getSupportFragmentManager().beginTransaction();trans.replace(R.id.container1,Fragment1.newInstance(loadedObject));trans.replace(R.id.container2,Fragment2.newInst

android - FragmentManager 已经在执行事务。提交后何时初始化寻呼机是安全的?

我有一个托管两个fragment的Activity。该Activity在加载对象时开始显示加载程序。然后通过newInstance方法将加载的对象作为参数传递给两个fragment,并附加这些fragment。finalFragmentTransactiontrans=getSupportFragmentManager().beginTransaction();trans.replace(R.id.container1,Fragment1.newInstance(loadedObject));trans.replace(R.id.container2,Fragment2.newInst