Android疑难记录

  java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid view holder adapter positionVie 
  有很多原因可能会导致出现这个问题。我的情况是下拉刷新监听里我先把list.clear()但是没有调用notify()通知adapter数据更新,然后进行网络请求能到数据返回才会向list中添加数据并notify()通知adapter数据更新。
  所以会导致下拉刷新到网络请求返回数据期间界面上显示有数据但实际上我已经清空list,数据源和adapter数据不匹配因此报错。
  解决办法1:下拉刷新list.clear()后立马notify()等到网络数据返回修改list数据后再notify()  2:在网络数据返回后再进行list.clear()并立马进行notify()
  implementation 'androidx.appcompat:appcompat:1.3.0'
  如果多个module依赖版本没有统一就会出现报错androidx.fragment.app.Fragment Result Owner' supertype of 'androidx.fragment.app.FragmentManager'. Check your module classpath for missing or conflicting dependenciesandroidx.fragment.app.Fragment Result Owner' supertype of 'androidx.fragment.app.FragmentManager'. Check your module classpath for missing or conflicting dependencies不影响编译项目运行但是看到满屏爆红想必也不是诸位想看到的

 全局强制指定整个项目依赖固定版本的第三方库,避免重复依赖不同版本相同库
 configurations.all {
        resolutionStrategy.force 'androidx.appcompat:appcompat:1.3.1'
 }
 Recyclerview的GridLayoutManager可以通过setSpanSizeLookup方法动态设置每一个item的占位 
 数,以此来达到动态设置每行列数的效果
 val gridLayoutManager = GridLayoutManager(context, 2);
 gridLayoutManager.spanSizeLookup=object :GridLayoutManager.SpanSizeLookup(){
                                override fun getSpanSize(position: Int): Int {
                                    return if(position==0){
                                        2//第一个item占两个item位置
                                    }else{
                                        1//其余item依然只占一个位置
                                    }
                                }
                            }
   <com.yigou.one.widget.RadiusCardView
        android:layout_width="@dimen/dimen_594"
        android:layout_height="match_parent"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="@dimen/dimen_44"
        android:layout_marginBottom="@dimen/dimen_33"
        app:cardElevation="0dp">
   CardView在RelativeLayout中使用是会一直在viewTree的顶层显示,因为cardview默      
   认cardElevation有值布局厚度会大于一般控件所以一直显示在顶层。用下面代码设置为0 
   就可正常显示其他view
   app:cardElevation="0dp"
java.lang.IllegalStateException: Pages must fill the whole ViewPager2 (use match_parent)
viewpager2 item布局必须使用match_parent
Only fullscreen opaque activities can request orientation
解决办法:
android:screenOrientation="portrait"去掉清单文件中设置的方向
异常:android.content.res.Resources$NotFoundException: String resource ID #0x1异常 为控件展示object类型与require类型不符合,不是字面意义上的资源文件找不到
异常:java.io.IOException: unexpected end of stream on com.android.okhttp.Address@67ce78cc,外网没有访问后端请求域名权限
异常:android.database.sqlite.SQLiteException: duplicate column name: LOCALAREADIS (Sqlite code 1): , while compiling: alter table lossfits add column LOCALAREADIS TEXT;, (OS error - 88:Socket operation on non-socket)重复添加列引起的异常,比如建表语句中已经有此列但是又写了新的增加这一列的sql就会导致重复添加列的问题
异常:java.lang.IllegalStateException: attempt to re-open an already-closed object: SQLiteQuery: SELECT REPORT_NO FROM task_main_info WHERE (TASK_STATE=? or TASK_STATE=? or TASK_STATE=? or TASK_STATE=? or TASK_STATE=?) and EMP_CODE=? 数据库异常,查询语句入参为空
异常:this message is alerday in use ; 同一个message对象在handler.sendmessage后又handler.sendmessage一次
异常:java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid view holder adapter positionViewHolder{312e37e position=1 id=-1, oldPos=-1, pLpos:-1 no parent} android.support.v7.widget.RecyclerView{b991391 VFED..... ......ID 0,240-1080,1711 #7f0804cb app:id/repair_info_rv}, adapter:com.tp.claim.util.ManHourAdapter@55458fe, layout:android.support.v7.widget.LinearLayoutManager@a7b785f, context:com.tp.claim.ui.ChargedInfoRepairTwoActivity@84f949c
异常:java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()在thread内部再开启线程报错
异常:Error:com.android.dx.cf.code.SimException: invalid opcode ba (invokedynamic requires --min-sdk-version >= 26)   需要依赖implementation"com.google.guava:guava:23.0-android
特殊:Java中时间戳精度是13位精确到毫秒 C++中时间戳长度为10位精确到秒
特殊:Java中BigDecimao不要使用new BigDecimal(double)的构造方法要是用.valueof()
flutter exception :[SocketException: Failed host lookup: 'www.xyz.com' (OS Error: No address associated with hostname, errno = 7)](https://stackoverflow.com/questions/54551198/how-to-solve-socketexception-failed-host-lookup-www-xyz-com-os-error-no-ad)  检查手机当前网络是否通畅,当时因为用的是公司内网出现此问题
3.4 as默认使用gradle版本为5.1.1,用该版本build的时候会报transformDexWithInstantRunSlicesApkForDebug这个错误,和Instant Run有关,关了Instant Run后不报错了。想要使用可以升级gradle到5.4版本
kotlin.UninitializedPropertyAccessException: lateinit property userName has not been initialized 在Kotlin中lateinit修饰的属性使用前必须初始化
编译异常:com.android.tools.idea.gradle.project.sync.ng.NewGradleSyncNotSupportedException: New Gradle Sync is not supported due to containing Kotlin modules using an unsupported plugin version  当前gradle版本和gradle插件版本不匹配导致
java.lang.IllegalStateException:at java.util.ArrayList$Itr.remove(ArrayList.java:873) 删除判断条件要精准不能一次iterator.remove多个item
java.lang.IllegalStateException: Couldn't read row 0, col -1 from CursorWindow. Make sure the Cursor is initialized correctly before accessing data from it.          SQL查询数据库数据是获取的数据不在查询的列内
com.novoda.gradle.release.AndroidLibrary$LibraryUsage.getDependencyConstraints()Ljava/   gradle版本和gradle插件版本不一致
Gridview的item布局使用cardview时cardview一定要设置margin否则无效
华为手机设置-无障碍-打开了高对比度文字 会导致app内设置字体颜色无效只有黑白两种颜色。
Android10版本
org.xmlpull.v1.XmlPullParserException
Binary XML file line #10: invalid color state list tag gradient
这个报错真的很无语原因是Figma导出的svg使用了android:offset="0" 属性,但是这个属性最低支持24,而我的App最低支持23就导致Android 6.0的用户会崩溃,所以尽量减少Svg的使用,一定要使用也是简单颜色不太复杂的再使用
Error:Unable to decode stream: java.io.FileNotFoundException: 
/storage/emulated/0/DCIM/xxx/xxxx.png:open failed: EACCES (Permission denied)
Android10及以上启用了分区存储单纯申请Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.READ_EXTERNAL_STORAGE,并不能取到图片地址,使用如下代码获取
@RequiresApi(Build.VERSION_CODES.P)
    fun getBitmap(context: Context, data: Intent?): Bitmap? {
        try {
            return if (data?.data != null) {
                val sourceMap: ImageDecoder.Source =
                    ImageDecoder.createSource(context.getContentResolver(), data.data!!)
                ImageDecoder.decodeBitmap(sourceMap).copy(Bitmap.Config.ARGB_8888, true)
            } else {
                null
            }
        } catch (e: Exception) {
            e.printStackTrace()
        }
        return null
    }
java.lang.ClassNotFoundException: Didn't find class "xxx.ContextEx" on path: DexPathList
不是网上常见原因,是因为fork的项目使用的jdk版本为1.8而我本机是11导致的
java.lang.UnsupportedOperationException: Binary XML file line #4: You must supply a layout_height attribute.
oppo创建常驻通知栏的时候根部局的高度必须写死多少dp,不能从dimens里取值
# Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.9.0, expected version is 1.7.1
问题原因是kotlin-gradle-plugin的版本和build:gradle中的gradle插件版本不匹配
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,980评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,178评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,868评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,498评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,492评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,521评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,910评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,569评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,793评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,559评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,639评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,342评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,931评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,904评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,144评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,833评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,350评论 2 342

推荐阅读更多精彩内容