【android】开发中遇到的一些问题

1:华为输入法,输入框为ACTION_DONE模式,ActionId是 UNSPECIFIED

EditText对象.setImeOptions(EditorInfo.IME_ACTION_DONE)

回车键返回的ActionId是 IME_ACTION_UNSPECIFIED;(正常为IME_ACTION_DONE

 

2:红米手机调用系统拍照,导致页面重建,丢失数据

在调用拍照之前,保存当前页面的数据。咱是保存到SharedPreference里面,然后在onRestoreInstanceState函数里重新取值、赋值

 

3:视图的setBackgroundDrawable(对象)资源不能复用

比如列表中我们文字的背景颜色都是一样的, 这时候,我们希望能用Drawable把这个背景缓存起来,然后挨个TextView去赋值,

实际上,只有最后一个赋值成功。解决之道是直接使用seBackGroundResource

【android】开发中遇到的一些问题_第1张图片

 

4:Activity的startActivityForResult;在Fragment的OnActivityResult不能捕获

因为Activity的startActivityForResult对requestCode左移了16位,因此Activity的OnActivityResult里对requestCode右移了16位进行补偿

Fragment的OnActivityResult自然判断不了被Activity位移后的requestCode,解决之道是fragment使用自己的startActivityForResult

【android】开发中遇到的一些问题_第2张图片

 

5:android 6.0 老的http请求模块无法找到。

android 6.0的sdk里面删除了apche的请求模块,比如 org.apache.http.Header 就找不到了。

解决之道是在gradle里根节点加入

android {
    useLibrary 'org.apache.http.legacy'
}

实测加入上面一句,重新Sync就行了

如果你还是不行的话,参考知乎上详细的解决步骤:https://www.zhihu.com/question/35597452

 

6:android 6.0 静态内部类访问失败

静态内部类在5.x以及以下的版本都正常,但是在6.1上报错,没有访问权限

解决之道是把静态内部类声明为public。

你可能感兴趣的:(【android】开发中遇到的一些问题)