这是我最近做项目时遇到的一个问题,应为我们的项目要求apk要7*24小时运行,所以在做时间测试的出现了这一个问题。但是这个问题不是固定的位置固定的位置出现,一开始我以为是我的id写的有问题, 改了又改可是错误依旧还是会出现。没办反上网查理一下资料。
原来是我在Fragment套嵌Fragment的使用的用的方法用错了,用的是Activity套嵌Fragment的 getFragmentManager(),而Fragment套嵌Fragment要使用getChildFragmentManager()。
Activity套嵌Fragment的 getFragmentManager()方法。
private FragmentTransaction transaction; /** * 切换Fragment * * @param ID * @param fragment */ private void replaceFragment(int ID, Fragment fragment) { transaction = getFragmentManager().beginTransaction(); transaction.replace(ID, fragment); transaction.commitAllowingStateLoss(); }
Fragment套嵌Fragment要使用getChildFragmentManager()方法。
private FragmentTransaction transaction;
】/**
* 切换Fragment* * @param ID * @param fragment */ private void replaceFragment( int ID , Fragment fragment) { transaction = getChildFragmentManager().beginTransaction() ; transaction.replace(ID , fragment) ; transaction.commitAllowingStateLoss() ;}