您的位置:首页 > 移动开发 > Android开发

android的坑

2015-11-24 14:59 525 查看
示例一: ft.commit()和ft.commitAllowingStateLoss()的坑。

报错:Can not perform this action after onSaveInstanceState

FragmentTransaction ft = mFragmentManager.beginTransaction();

ft.commit();

当执行ft.commit();执行出错的时候,android给出另外一个方法来避免出错,避免奔溃。

其实这样的解决方案只是把错误和问题掩盖,实质上解决不了任何问题。

实例二:if(isAdd())

问题的状态就是:当调用getResource().getString(R.string.XX)的时候开始报错

加上这个if(isAdd())之后就避免奔溃,强制退出的情况,

实际上解决不了任何问题,原本想显示的文字,想显示的内容就没有显示,到如今都不知道如何才能解决这个问题,想想android的坑远不止这些,目前我无力解决,只能换别的方法来实现我想做的功能。

示例三:getChildFragment()的bug,取fragments中的元素会出现null的情况

public void onDetach() {

super.onDetach();

try {

Field childFragmentManager = Fragment.class.getDeclaredField("mChildFragmentManager");

childFragmentManager.setAccessible(true);

childFragmentManager.set(this, null);

} catch (NoSuchFieldException e) {

throw new RuntimeException(e);

} catch (IllegalAccessException e) {

throw new RuntimeException(e);

}

}

还有viewpager+Fragment的问题,等等。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: