java – 使用兼容性时从活动中获取FragmentTransaction的问题
发布时间:2020-12-15 04:56:43 所属栏目:Java 来源:网络整理
导读:所以我正在开发一个我希望在传统 Android设备上运行的项目,所以我使用的是兼容性库.我使用的是类似于NewsReader的接口,只是代替Activity中的两个片段,它们嵌入在另一个嵌入ViewPagger的片段中. 为简单起见,我们将使用这些术语…… Activity - ViewPager - Co
所以我正在开发一个我希望在传统
Android设备上运行的项目,所以我使用的是兼容性库.我使用的是类似于NewsReader的接口,只是代替Activity中的两个片段,它们嵌入在另一个嵌入ViewPagger的片段中.
为简单起见,我们将使用这些术语…… Activity -> ViewPager -> ContainerFragment->Fragment1 ->Fragment2 在ContainerFragment中我试图用片段2替换片段1,如果它是一个电话,所以我在ContainerFragment中尝试了以下代码… import android.support.v4.app.FragmentTransaction; ... public void onBarSelected(Integer index) { selectedBarIndex = index; if (isDualPane) { // display it on the article fragment mBarEditFragment.displayBar(index); } else { // use separate activity FragmentActivity activity = (FragmentActivity)getActivity(); FragmentTransaction ft = activity.getFragmentManager().beginTransaction(); ft.replace(R.id.bar_container,new BarEditFragment(),R.id.bar_edit); } } 但是我得到以下编译错误 Type mismatch: cannot convert from android.app.FragmentTransaction to android.support.v4.app.FragmentTransaction 我仔细检查了一下,活动确实扩展了兼容性FragmentActivity. UPDATE 试图改为…… 得到…. MainActivity activity = (MainActivity)getActivity(); Object test = activity.getFragmentManager().beginTransaction(); FragmentTransaction ft = (FragmentTransaction)test; ft.replace(R.id.bar_container,new BarEditFragment()); 我得到了…… java.lang.ClassCastException: android.app.BackStackRecord cannot be cast to android.support.v4.app.FragmentTransaction 有任何想法吗? 回答: 我想出了我的问题问题是你不应该从Activity中获取Fragment管理器,而应该从片段中获取它. 这有效…… public void onBarSelected(Integer index) { selectedBarIndex = index; if (isDualPane) { // display it on the article fragment //mBarEditFragment.displayBar(index); } else { FragmentTransaction ft = getFragmentManager().beginTransaction(); ft.replace(R.id.bar_container,new BarEditFragment()); ft.commit(); } } 解决方法
面对同样的问题解决了使用
谢谢 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- java.lang.Error:可能的致命错误:找不到字体
- java – 在它的抽象超类中使用泛型类型的子类?
- java – 按位与0xff进行比较重要吗?
- Java 8可选如何处理太多orElses
- java – 是否可以在JCalendar JDateChooser字段上检测日期更
- java – 在Struts 2中使用Ajax URL调用一个动作
- 构造函数java中的final double
- java – 从String []的ArrayList打印一个字符串?
- java – 在PlayFramework中测试WebSocket
- Java中的方法RSACryptoServiceProvider signHash的等价物