【Debug-singleLine】android:singleLine="true"已被废弃问题

Bug描述

有一个界面,外层是ViewPager,内层嵌了一个RecyclerView。RecyclerView有自己的点击和滑动事件,造成外层的ViewPager无法左右滑动。

山重水复

尝试了很多方法,比如可能是外层的ViewPager和内层的RecyclerView有滑动冲突的问题。于是想方设法拦截其中的某项事件监听,但并无卵用。最后折腾半天无果,无奈,按照项目的写法逻辑重新实现了一遍,发现没有发生滑动冲突。

日了狗了。

感觉问题并不在于此。

柳暗花明

逐层查找,从ViewPager的Activity查找到ViewPager每个页面所显示的Fragment的编码,该Fragment的布局文件是一个RecyclerView,查一下该RecyclerView的适配器Adapter,码神保佑,我注意到了其中的【onCreateViewHolder()】找到其关联的布局文件,进去看一眼,好神奇,竟然是一个TextView

问题解决

里面用到了一个属性

android:singleLine="true"

这个属性已被谷歌废弃,替换成

android:lines="1"
android:ellipsize="end"

问题解决。

参考:https://blog.csdn.net/ldqsxsl/article/details/68485514

总结

1。在TextView中,singleLine废弃问题用以下代码替代:

android:lines="1"
android:ellipsize="end"

2。在EditText中,singleLine废弃问题可用以下代码替代:

android:lines="1"
android:inputType="text"

参考:https://blog.csdn.net/bzlj2912009596/article/details/79535415

你可能感兴趣的:(Debug,Debug)