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的问题,等等。。。
报错: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的问题,等等。。。
相关文章推荐
- Android 定位地理坐标体系
- 使用系统隐藏api
- Android 4.4、5.1、6.0 屏蔽Home键
- Android Library项目发布到JCenter最简单的配置方法
- android点滴
- Android的一段常用动画效果代码(如何让点击的图片控件加速飞入到指定位置)
- android删除文件出错
- 自动生成Android不同分辨率下的图片
- Android使用json与服务器交互
- 【Android】Sensor框架Framework层解读
- Android动画效果translate、scale、alpha、rotate说明
- Android开发 轻量缓存框架--ASimpleCache
- android应用跳转到市场评分功能
- Android开发笔记(序)写在前面的目录
- Android开发笔记(序)写在前面的目录
- android 下载文件
- Android 桌面悬浮窗效果实现
- Mac系统下,打开Android SDK Manager
- Android开发 Inbox下拉刷新效果
- Android studio mac/windows 常用快捷键