不想看废话的就直接将有问题的XML文件的根视图android.support.v7.widget.RecyclerView
改为androidx.recyclerview.widget.RecyclerView
就好了,如果你的也是com.android.support:recyclerview-v7:28.0.0!!
后续:将android.support.v4.view.ViewPager
该为androidx.viewpager.widget.ViewPager
之后但凡是类似于上面的以android
开头而不是androidx
的都要改!
最近在弄《Android编程权威指南第3版》的一个项目,虽然时按着书上来敲的但由于andriod studio的版本更新,像com.android.support:appcompat-v7:28.0.0和
com.android.support:recyclerview-v7:28.0.0,而书上用的是26的,所以尽管代码完全一样肯定还有问题,这我是心里有数的,当做到第八章—使用RecyclerView显示列表时代码没有报错,但虚拟机启动项目app时崩溃,无法启动,一度自闭,怀疑自我!
起初我将文件回退到这个程度运行发现项目正常启动 所以我把问题锁定在CrimeListFragment.java里,看了好久,没有一点问题,于是就陷在里面了。过了几天一直在想这事,尝试了很多方法,经过一系列的反复横跳,我发现控制台报了这个错 这才恍然大悟,之前报错说CrimeListFragment.java 24行有问题,这里调用了fragment_crime_list,而这个修改根视图为android.support.v7.widget.RecyclerView 有问题。才导致无法启动CrimeListFragment。
一查28的V7包跟26的不一样,将android.support.v7.widget.RecyclerView改为androidx.recyclerview.widget.RecyclerView,重新运行ok,完美解决!!! 现在一想如果刚开始报错的时侯就冷静下来去看报错信息的话根本不会浪费这么多时间的。这次也给自己提了个醒以后不管出啥bug,第一时间要冷静下来,仔细分析报错信息,如果状态不好就先缓缓,拖着个疲惫的身躯去找bug很容易崩溃的,有时候错误很简单那的不要因为自己的心态导致陷入死循环中!适当放松一下,你会发现一个不一样的bug! 这也算是这次的一点小收获,希望可以帮到一些人!!!