Android 开发中的坑

本文介绍了Android开发过程中遇到的一些问题及解决办法,包括RecyclerView中v.getLocationOnScreen()失效、动画设置错误、OPPO手机语言切换问题、JavaScript参数传递限制、国际化问题以及微信授权在特定设备上的异常。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android 开发中的坑

填坑之路


RecyclerView

  1. v.getLocationOnScreen()在recylerview调用notifyItemChanged的时候,失效,获取到的数据是0.

  2. overridePendingTransition(0, R.anim.push_bottom_out);
    设置动画没有不能设置为0,如果你的theme背景是透明的,为了解决splash打开黑屏,会设置背景为透明的;在红米手机上面设置为0,则切换会出现屏幕;
    解决方法设置无动画效果的anim,把0提换成:R.anim.invariant

overridePendingTransition(R.anim.invariant, R.anim.push_bottom_out);

<!-- 无动画效果 -->
<set xmlns:android="http://schemas.android.com/apk/res/android">

    <alpha
        android:duration="400"
        android:fromAlpha="1"
        android:toAlpha="1" />
</set>
  1. oppo手机MainActivity设置
 <item name="android:windowIsTranslucent">true</item>

切换语言后,重启MainActivity.

 Intent mIntent = new Intent(context, VersaHomeActivity.class);
 mIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
 //mIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
 context.startActivity(mIntent);

出现以下情况:
oppo

  1. 牛逼的字符:会变 (ه’́⌣’̀ه )/

  2. 原生调用Js,传递参数值不能带有转义字符(\n),传递图片的时候,图片转成base64带有\n

//mWeb.loadUrl("javascript:photoCallback('" + image + "')");
                                mWeb.evaluateJavascript("photoCallback('" + image + "')",null);
  1. 国际化中出现的坑
    App需要在内部设置语言 , 而不是跟随系统语言 , 7.0以上出现了问题 , 在设置为英文时 , 只要打开一些布局有WebView 或者有用到WebView的页面 , 语言就会变成中文 ;
    解决:在使用到WebView的页面的onPause中 , 重新设置语言.

  2. tinker热修复,用packer-ng-2.0.1导出渠道包,渠道名称千万别用“official",别问为什么,目前第三方登录微信就会无法授权。

  3. 小米8se,微信授权太快出现上滑home键失效,解决方案:授权后sleep 200ms

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值