jjzjj

FragmentManager

全部标签

android - support.FragmentManager源码中mAdded和mActive的区别

最近在看FragmentActivity的源码(不好意思在github上找不到源码,我用的是原生源码jar文件)。FragmentManager包含以下两个成员:ArrayListmAdded;//ArrayListmActive;//两者有什么区别?在什么情况下Fragment将在mAdded而不是在mActive中? 最佳答案 m已添加:包含已添加但未从Activity中删除或分离的fragment。这些fragment享有特权,因为它们可以:响应事件,例如:低内存力事件配置更改显示自定义菜单并响应菜单项选择。mActive:m

android - FragmentManager 已经在 commitAllowingStateLoss() 上执行事务

java.lang.IllegalStateException:FragmentManagerisalreadyexecutingtransactions我已经阅读了所有关于StackOverflow的问题,但没有任何帮助。只是想分享我的经验publicvoidonResume(){super.onResume()if(condition)replaceFragment()}publicvoidreplaceFragment(){if(fragmentName!=null&&!this.isDestroyed()){finalFragmentTransactionft=getSuppo

java - 抽屉导航在关闭时抽动

我尝试在我的应用中实现抽屉导航(MaterialDesign)。我的Activity包含带有fragment的FrameLayout。当用户在NavigationDrawerFrameLayout中选择项目时重新加载新fragment:listViewDrawer.setOnItemClickListener(newAdapterView.OnItemClickListener(){@OverridepublicvoidonItemClick(AdapterViewparent,Viewview,intposition,longid){drawerLayout.closeDrawer(

android - FragmentManager(v4) 不从 mCreatedMenus 中删除 fragment

LeakCanary在我的代码中发现了泄漏*classifieds.yalla.features.ad.page.seller.SellerAdPageFragmenthasleaked:*GCROOTandroid.view.inputmethod.InputMethodManager$1.this$0(anonymoussubclassofcom.android.internal.view.IInputMethodClient$Stub)*referencesandroid.view.inputmethod.InputMethodManager.mNextServedView*re

android - 什么情况下 "Can' t 从 onDestroy 访问 ViewModels”以及如何优雅地解决它?

一些错误如java.lang.RuntimeException:Unabletodestroyactivity{xxxxxx}:java.lang.IllegalStateException:Can'taccessViewModelsfromonDestroy 最佳答案 查看Android源代码,它检查在尝试获取ViewModel时支持的FragmentManager是否被破坏。打电话ViewModelProviders.of(this).get(ViewModel::class.java)会到达privatestaticHolde

android - 旋转时未调用 fragment onCreateView 和 onActivityCreated

我正在处理fragment并将新fragment推送到后台堆栈,但是当我将设备旋转两次时,fragment的onCreateView、onActivityCreated等等在fragment生命周期中永远不会调用方法而留下​​空白屏幕。这仅在fragment已添加到后台堆栈或返回到后台堆栈中的第一个fragment时发生。这是我的Activity的fragment处理方法:@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);//InjectionMormonCh

android - 如何压缩与 fragment 标签匹配的后台 fragment ?

我的Android平板电脑应用的布局由项目列表和详细信息View组成。选择列表项后,相关内容将显示在详细信息View中。+--------+-------------+|Item1||+--------+Item||Item2|details|+--------+||Item3||+--------+-------------+详细信息View是一个Fragment,它以编程方式扩展到FrameLayout占位符中:这是Fragment操作:getSupportFragmentManager().beginTransaction().replace(containerViewId,fr

android - FragmentManager.getFragment() 空指针异常

我正在使用支持库v4,但未能保存fragment的状态。@OverrideprotectedvoidonSaveInstanceState(BundleoutState){...if(mFragment!=null)getSupportFragmentManager().putFragment(outState,"frag",mFragment);...}@OverrideprotectedvoidonCreate(BundlesavedInstanceState){...if(savedInstanceState!=null){//HereIgetNullPointerExcepti

android - fragment - getArguments() 返回一个空包

希望有人能帮助我理解这一点:我正在使用一个单一Activity应用程序和许多在同一容器中替换的fragment,并且我正在启用“不保留Activity”选项的真实设备中测试我的应用程序添加新fragment时(使用FragmentTransactionreplace()方法),我使用的是setArguments()将信息传递给新fragment的方法。它按预期工作,我可以通过getArguments()获得该信息在那个fragment里面。到目前为止一切正常......在此之后,我将我的应用程序发送到后台。我看到堆栈中的所有fragment都被销毁了,同样符合预期我将我的应用带到前台并

android - 如何在 fragment 中保存状态

我有4个按钮来替换Activity中的fragment[fragmentA、fragmentB、fragmentC、fragmentD],然后我将fragmentA替换为Activity,然后我更改fragmentA中的值,然后我将fragmentB替换为fragmentA和将fragmentC替换为fragmentB。但我想将fragmentA替换为fragmentC。如何在fragmentA中保存状态。提交fragment时的代码privatevoidbeginFragmentTransaction(BaseFragmentfragment){Stringtag=fragment.