首页
关于
友链
开往

踩坑日记

一把辛酸泪

使用OKHttp 3 时

出现java.lang.BootstrapMethodError: Exception from call site #0 bootstrap method

解决方式:在build.gradle中添加以下代码 Java8的新特性

compileOptions{
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

参考: https://blog.csdn.net/qq_32425789/article/details/88838587

使用RxJava时

observeOn(AndroidSchedulers.mainThread())报错

待定,这个最后是直接复制别人的解决的。。。

使用Arouter时

出现:android.content.ActivityNotFoundException: Unable to find explicit activity class

原因是没有给新增的activity注册

因为定义了一个基类的activity,然后在复用的时候忘记注册新增的activity了(之前都是使用android studio自带的创建方法创建的,它会帮你自动注册,这次没有这样,也怪自己太粗心大意,在这里翻车了QAQ)

参数未传进来

有以下几种情况会造成这样的情况

  • 未在onCreate()方法里 进行 ARouter.getInstance().inject(this);
  • 未在onCreate()方法里进行值的判断(存疑)

使用webview时

图片加载不出来

在AndroidManifest文件中加入android:usesCleartextTraffic="true",然后按如下代码设置webview

mWebView.getSettings().setJavaScriptEnabled(true);//启用js
mWebView.getSettings().setBlockNetworkImage(false);//解决图片不显示

参考:https://blog.csdn.net/u013320868/article/details/52837671

使用RelativeLayout布局时各种乱七八糟的属性

总结如下

与parent相对的属性

属性 说明
layout_alignParentTop 表示widget的顶部和Container的顶部对齐。
layout_alignParentBottom 表示widget的底部和Container的底部对齐。
layout_alignParentStart 表示widget的左边和Container的起始边缘对齐。
layout_alignParentEnd 表示widget的左边和Container的结束边缘对齐。
layout_alignParentLeft 表示widget的左边和Container的左边对齐。
layout_alignParentRight 表示widget的右边和Container的右边对齐。
layout_centerInParent 表示widget处于Container平面上的正中间
layout_alignWithParentIfMissing 若设置true,则当该控件layout_toLeftOf, layout_toRightOf等找不到相对的参考widget时,就以父container为参考。

与widget相对的布局

属性 说明
layout_above 表示该widget位于参数值标识的widget的上方。
layout_below 表示该widget位于参数值标识的widget的下方。
layout_alignTop 表示该widget的顶部与参数值标识的widget的顶部对齐。
layout_alignBottom 表示该widget的底部与参数值标识的widget的**底部*8对齐。
layout_alignStart 表示该widget的起始边缘与参数值标识的widget的起始边缘对齐。
layout_alignEnd 表示该widget的结束边缘与参数值标识的widget的结束边缘对齐
layout_alignLeft 表示该widget的左边与参数值标识的widget的左边对齐。
layout_alignRight 表示该widget的右边参数值标识的widget的右边对齐。
layout_centerHorizontal 表示widget处于Container水平方向上的中间
layout_centerVertical 表示widget处于Container垂直方向上的中间
layout_alignBaseline 表示该widget的BaseLine与参数值标识的widget的BaseLine对齐。
layout_toLeftOf 表示该widget位于参数值标识的widget的左方
layout_toRightOf 表示该widget位于参数值标识的widget的右方
layout_toStartOf 🚩表示该widget结束边缘与参数值标识的widget的起始边缘对齐
layout_toEndOf 🚩表示该widget起始边缘与参数值标识的widget的结束边缘对齐

延时

场景:(android)点击首页的listview里的item后进入详情页时进行锚点(用户看不到锚点动作)

我一开始想到的就是Thread.sleep,,,,QAQ 不用想,就是错的,Thread.sleep是让整个线程都休眠了,期间就不会进行任何的工作了。。。

正确做法:使用Handler的postdelay,

待补充