常见 Bug 1

1. kotlin 模块化 bean 问题
描述:在模块化各个中实体类定义太多,可能有重复实体类,就会报错:
E/Parcel: Class not found when unmarshalling: xxxDataBean
java.lang.ClassNotFoundException: xxxDataBean
解决:抽取为一个共用实体类即可

2. EventBus 接收不到事件
官方demo中,是在onStart中注册,onStop中注销,实际运用中,只会走一次,所以不会接受到事件,放在onCreate中注册,onDestory中注销,即可

  1. The specified child already has a parent. You must call removeView
    这个错误出现在Fragment中,
inflater.inflate(R.layout.fragment_shop_new, container)
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
    return inflater.inflate(R.layout.fragment_shop_new, container,false)
}

4. WebView常见问题
WebView调H5上传文件点击取消时无法再次响应H5上的选择文件事件
大概思路:
h5页面通过filePathCallback调起后,回调一直占用,必须置空
onActivityResult 中resultCode==Activity.RESULT_CANCELED
filePathCallback.onReceiveValue(null);

  1. fragment无法直接使用onKeyDown,只有在activity中才有的方法

6. swiperefreshlayout与scrollview滑动冲突

#滑动冲突
sl.viewTreeObserver.addOnScrollChangedListener {
    if (b3SR != null) {
        b3SR.isEnabled = sl.scrollY == 0
    }
 }

7. ScrollView无法滑动
最上层

  android:fitsSystemWindows="true"
  android:focusable="true"
  android:focusableInTouchMode="true"
  <--不要使用-->
  android:windowSoftInputMode="adjustPan"

8. DataBinding替换R文件
项目基于DataBinding,复制一个新的APP,需要更换applicationId,项目名,包名,还有R文件,AndroidManifest.xml中修改包名,复制即可

9. Android Studio 指定签名证书文件
AS默认使用的debug包,如果有了jks文件,切换为release就会报错

选区_001.png

参考:(Android Studio 指定签名证书文件)[http://www.mobibrw.com/2015/2657]

2步解决:

1.移动位置 放在buildTypes前
signingConfigs{
    ......
}
2.添加调用语句
buildTypes {
    release {
        signingConfig  signingConfigs.release
    }
}

10. 依赖冲突,查看gradle所属依赖
gradlew -q app:dependencies命令查看依赖关系

11.CardView不显示阴影

app:cardPreventCornerOverlap="true"
app:cardUseCompatPadding="true"

或者在配置文件中添加开启硬件加速

 android:hardwareAccelerated="true"

11.android9.0 http不支持问题
AndroidManifext.xml


...

AndroidManifext.xml


...

network_security_config.xml



    

你可能感兴趣的:(常见 Bug 1)