jjzjj

FragmentManager

全部标签

android.view.AbsSavedState$1 无法转换为 android.widget.CompoundButton$SavedState

我在Crashlytics上经常看到以下错误:Causedbyjava.lang.ClassCastException:android.view.AbsSavedState$1cannotbecasttoandroid.widget.CompoundButton$SavedStateatandroid.widget.CompoundButton.onRestoreInstanceState(CompoundButton.java)atandroid.view.View.dispatchRestoreInstanceState(View.java)atandroid.view.ViewG

android - 如何查找类型为 java.lang.RuntimeException : Parcel android. os.Parcel@#### 的崩溃源:在偏移量 YYY 处解码未知类型代码 XXXX

我们的崩溃报告系统正在记录这种类型的崩溃:Causedbyjava.lang.RuntimeException:Parcelandroid.os.Parcel@8bf0d1f:Unmarshallingunknowntypecode6881391atoffset356atandroid.os.Parcel.readValue(Parcel.java:2779)atandroid.os.Parcel.readSparseArrayInternal(Parcel.java:3148)atandroid.os.Parcel.readSparseArray(Parcel.java:2362)a

Android:从源码看FragmentManager如何工作

一个Activity中,在某一个容器中,更换不同的Fragment,从而显示不同的界面,这个场景相信大家已经非常熟悉了,也知道Activity是通过FragmentManager来管理嵌入的Fragments的,所以今天就来看看FragmentManager是如何工作的。我们以继承AppCompatActivity来分析。我们常用的几种操作大致如下:FragmentManagerfragmentManager=getSupportFragmentManager();Fragmentf1=newFragment();FragmentTransactiontransaction=fragmentM

android - FragmentManager.popBackStack() 并不是简单的加载之前的Fragment

我有一个主要的TabActivity,它有两个选项卡,A和B(目前)。选项卡A加载一个FragmentActivity(下面给出的代码),它只包含一个FrameLayout,因此我可以在其中加载该特定选项卡的fragment。第一个Fragment有一些TextView和一个ListView。数据是从网络服务中提取的。当我单击ListView的项目时,我将该项目的详细信息加载到另一个fragment(这也来自Web服务),并将当前fragment(带有ListView和其他控件)替换为另一个详细fragment。为了实现这一点,我使用android-support-v4.jar库来使用

java.lang.IllegalArgumentException : No view found for id 0x7f090047 ("project name":id/content) for fragment FmMenu 异常

只是想分享我在为客户做的项目中遇到的问题。每当我进入我的IntroActivity并按下按钮将我带到MenuActivity时,它就会崩溃。错误日志如下:02-1618:49:49.3931208-1208/com.wlodsgn.bunbunupE/FragmentManager﹕Noviewfoundforid0x7f090047(com.wlodsgn.bunbunup:id/linear)forfragmentFmMenu{b1e537f0#0id=0x7f090047}02-1618:49:49.3931208-1208/com.wlodsgn.bunbunupE/Fragm

android - 尝试避免将相同的 fragment 添加到 backStack 两次,popBackStackImmediate 总是返回 false

我试图避免使用此方法将相同的fragment添加到backStack:publicstaticvoidreplaceFragment(FragmentManagerfragmentManager,Fragmentfragment,BooleanaddToBackStack){StringbackStateName=fragment.getClass().getName();booleanfragmentPopped=fragmentManager.popBackStackImmediate(backStateName,0);if(addToBackStack&&!fragmentPop

android - 将 RoboFragment 与 FragmentManager 结合使用

我一直在尝试使用RoboGuice和fragment,但没有成功。我有一个扩展RoboFragment的fragment和一个扩展RoboActivity的Activity,但似乎在RoboActivity中,方法getFragmentManager与RoboFragment不兼容。看起来RoboFragment扩展了android.support.v4.app.Fragmentment但getFragmentManager需要android.app.Fragment.这意味着如何工作? 最佳答案 一如既往,我在发布后10分钟内解决

Android:保持 fragment 运行

当我从FragmentManager调用replace以打开一个新的Fragment时,是否可以保持Fragment运行?基本上我不想在导航(通过replace方法)到另一个Fragment时暂停Fragment。这可能吗?或者正确的方法是,每次我需要打开它并恢复其以前的状态时,总是实例化一个新的fragment?谢谢! 最佳答案 FragmentMangerreplace方法将完全销毁前一个fragment,因此在每个事务中onDestroyView()、onDestroy()和onDetach()将在前一个fragment上被调

android - getSupportFragmentManager 不在 DialogFragment 上编译

我怎样才能显示这个:publicclassTagsDialogextendsDialogFragment{@OverridepublicDialogonCreateDialog(BundlesavedInstanceState){AlertDialog.Builderbuilder=newAlertDialog.Builder(getActivity());LayoutInflaterinflater=getActivity().getLayoutInflater();builder.setView(inflater.inflate(R.layout.tags_dialog,null)

java - 检查 fragment 是否存在并重用它

每次用户单击ListView中的项目时,我都使用以下代码创建一个fragment。但是通过这种方式,fragment是在每次用户点击时创建的。我想要的是重用旧fragment(如果存在)并仅重新加载其内容(不要创建新fragment)。MagazineViewFragmentfragment=newMagazineViewFragment();fragment.openStream(itemSelected);FragmentManagerfragmentManager=getFragmentManager();fragmentManager.beginTransaction().re