原创

安卓开发中遇到的奇奇怪怪的问题(二)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://weilu.blog.csdn.net/article/details/79941199

接着早前的安卓开发中遇到的奇奇怪怪的问题(一) ,再向大家分享我在项目中遇到的奇怪问题。希望对大家有帮助。

1.RecyclerView自动滚动

之前碰到的一个奇怪问题:RecyclerView 嵌套 RecyclerView,结果内部的RecyclerView会自动的滑动至顶部。最终找到了解决方法:RecyclerView常见问题解决方案

两种解决办法:

一. 内部Recyclerview去除焦点,父布局里获得焦点。

recyclerview.setFocusableInTouchMode(false);
recyclerview.requestFocus();

比如父布局的一个textview。

textview.setFocusableInTouchMode(true);  
textview.requestFocus(); 

二. 内部的Recyclerview加

android:overScrollMode="never"

父布局覆盖子VIew获取焦点:

android:descendantFocusability="blocksDescendants"

当然不推荐使用RecyclerView 嵌套 RecyclerView这种写法了。。。

2.NumberFormatException

起因是Bugly上报了一个错误:

这里写图片描述

说是我格式化“0,00”这样的一个字符串。代码大致如下:

String.format("%.2f", number);

排除了格式字符串的问题后我就纳闷了。中间经过了大量的搜索。。。,发现是格式化的问题。也就是在不指定Locale时,是跟随系统语言。在法语、德语、意大利语的语言中,格式化小数是逗号的。所以解决方法:

String.format(Locale.CHINA, "%.2f", number);

3.SecurityException

在之前项目中做了6.0的动态权限后,Bugly报错如下:

这里写图片描述

更奇怪的是报错的全部都是6.0的手机。

这里写图片描述

查了一下,找到了问题。发现是6.0的一个bug,在部分6.0上CHANGE_NETWORK_STATE权限获取不到,那么只能去获取WRITE_SETTINGS这个权限了。这个问题已经在6.0.1修复了。附上链接地址

既然是6.0的问题,我们可以对6.0进行单独处理。抛出异常处或者在使用CHANGE_NETWORK_STATE权限前跳转到系统设置页去设置。

if(Build.VERSION.SDK_INT == Build.VERSION_CODES.M) {
     if (!Settings.System.canWrite(context)) {
         Intent intent = new Intent(android.provider.Settings.ACTION_MANAGE_WRITE_SETTINGS);
         intent.setData(Uri.parse("package:" + context.getPackageName()));
         intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
         context.startActivity(intent);
      } 
}             

当然也可以参考这位兄弟的方法:Android 6 完美解决 WRITE_SETTINGS 权限设置问题

4.WebView中Http和Https加载问题

比如https页面加载http图片或者http页面加载https图片时图片显示不出来,原因是因为在Android 5.0开始WebView默认不允许加载http与https混合页面,

解决办法:

//https与http混合资源处理
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    webSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}

当然最好还是不要混合,保持统一。

5.一些注意点

6.参考

暂时就这么多了,都是干货。码字不易,多多点赞。

文章最后发布于: 2018-04-14 16:05:52
展开阅读全文
0 个人打赏

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 猿与汪的秘密 设计师: 上身试试

分享到微信朋友圈

×

扫一扫,手机浏览