日常复用代码踩坑记录。
RecyclerView: No layout manager attached; skipping layout
因为需求变更,需要优化代码,然后自己偷懒,复用了几个界面,一个不留神,就给自己埋了一个坑,还搞的自己心情都不好了(🤦♂️)具体的错误如标题。一个很低级的错误
RecycleView忘记设置LayoutManager,自己的写代码习惯是在布局里面设置,同事是在代码里面设置。调试过程中,数据一直不展示,抓布局定位高度是否正确,adapter设置是否正确,与RecycleView是否绑定等,都没有怀疑到自己没设置LayoutManager,看了下log,报了如题的错误。
解决方案:
1 | LinearLayoutManager classifyDataManager = new LinearLayoutManager(this); |
PS:记录下排查问题思路
1 | 抓布局,查看RecycleView的高度是否正确 |
Intent隐式跳转
原生分享主要用的知识点就是Intent隐式跳转。显示跳转,一般我们都很熟悉,项目中最长用到的。下面的示例很熟悉:
1 | Intent intent=new Intent(MainActivity.this, SecondActivity.class); |
隐式跳转在项目中一般使用较少,也因项目而异。跳转外部应用,常用的是隐式跳转。代码如下:
一目了然,隐式跳转五步走。1
2
3
4
5Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.putExtra(Intent.EXTRA_TEXT, " Hello World");
shareIntent.setType("text/plain");
startActivity(Intent.createChooser(shareIntent, "share into"));
com.android.builder.internal.aapt.v2.Aapt2Exception: Android resource linking failed
项目换到AndroidX,自己更新代码后,项目无法运行,Google了好多方法,但是都无法解决,是Gradle版本不一致,自己帮助同事用Git解决冲突的时候,略显粗暴,直接让本地的一些代码被还原,导致Gradle文件被还原,项目运行不了。解决冲突还是需要耐心仔细。
Parcelable encountered IOException writing serializable object
界面传值的时候,报如题错误,JavaBean有嵌套,内部嵌套的Bean未序列化导致。
如果需要序列化JavaBean,将所有的Bean都序列化,避免此问题。