一些遇到的错误的整理

博客整理了在Android开发中遇到的各种错误及其解决方案,包括.9图片导入问题、BitmapFactory.decodeResource加载shape资源为空、Fragment获取布局宽高为0、FragmentStatePagerAdapter缓存页数设置、读写SD卡权限问题、自定义View测量文字宽度、Adapter刷新问题、DialogFragment圆角显示异常、版本号设置无效、文本重定位警告、键盘事件处理、dataBinding编译错误、远程依赖下载问题以及Windows10输入法修复等。
摘要由CSDN通过智能技术生成
1.直接闪退,报类型转换错误,检查很多遍,无果,最后发现,是因为采用了多个布局适配,也就是layout-sw600dp和layout文件夹下有一个相同命名的布局文件,后来因为需求变化,更改了其中一个布局文件的控件类型,另一个忘了改,编译没有报错,运行时报错
2.startActivity启动一个新Activity后onActivityResult不被调用,但是有时候又会被调用,找了很久,发现是因为使用了TabHostActivity,TabHostActivity子activity,有时候就不会调用一些生命周期,后来子activity中使用
getParent().startActivityForResult(new Intent(this,要跳转的Activity.class), 请求码)
然后TabHostActivity中的onActivityResult去调用当前子activity的onActivityResult方法,就可以实现了,
Activity currentActivity = getCurrentActivity();
        if (currentActivity instanceof TestActivity) {
            ((TestActivity) currentActivity).onActivityResultL(requestCode,
                    resultCode, data);
        }
    最后补充一点,还是不要使用TabHostActivity了,这个方法已经被google标注为过时了,会有各种小问题的,我遇到的应该就是其中的某一个问题。推荐使用FragmentActivity去加载多个fragment
3.TabActivity弹出窗口后返回,子activity中的EditText只能输入,不能删除(退格)了,找了很久,在TabActivity中的dispatchKeyEvent方法中打印捕捉到的key的值,发现是可以的,但是子activity就捕捉不到,说明tabActivity抢占了子activity的焦点,怎么办呢,还是2的办法,调用一下子类的同样的方法,
</
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值