您好,欢迎来到二三娱乐。
搜索
您的当前位置:首页android 问题记录备忘

android 问题记录备忘

来源:二三娱乐

Q1 Application context 出现空指针####

Application 中 instance获取时不能使用new Application() 这种方式,否则没有上下文
,需要在onCreate中直接用instance = this 来初始化

Q2 ProgressDialog dismiss不起作用

错误写法
ProgressDialog dialog = new ProgressDialog(this);
dialog.show(this,"title","message");
dialog.dismiss();

这样写会导致dialog不消失,因为dialog.show(this,"title","msg")会生成新的dialog

正确写法
dialog.setTitle("title");
dialog.setMessage("message");
dialog.show();

Q3 下载android framework源码

Q4 android.view.WindowLeaked

android 中Dialog 跟Activity生命周期并不是同步的,在销毁一个Activity时,若dialog 还在 show()时,就会导致窗体泄漏。
解决办法是在finish activity前检查dialog

if( mDialog != null && mDialog.isShowing()){ mDialog.dismiss(); }

Q5 receiver 无法实例化

写demo的时候碰到了一个Unable to instantiate receiver java.lang.InstantiationException错误导致无法实例化receiver的错误
发现该receiver是写在service类里面的一个内部类,然后在manifest文件中静态注册的。所以导致了无法实例化。

解决方案是:将该receiver独立出来,形成单个文件,不要以内部类的方式定义

Q6 android selector 背景色切换不起作用

原因:没有将默认颜色北京写到最末尾

解决方案: 将点击时的状态写到selector靠前位置,默认颜色则放到最后

<?xml version="1.0" encoding="utf-8"?>
<selector 
    <item  android:drawable="@color/custom_bg"android:state_pressed="true"/> 
        <item android:drawable="@color/white"/>
</selector>

Copyright © 2019- yule263.com 版权所有 湘ICP备2023023988号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务