关于RecyclerView和跑马灯焦点的冲突
当跑马灯TextView存在于RecyclerView的Item中时,如果默认在初始化的时候执行requestFocus()操作会导致:
RecyclerView焦点乱飞,初始位置不一定是列表的首个Item;
RecyclerView滑动到跑马灯Item不显示位置后,重新滑回显示位置,跑马灯TextView失去焦点,于是不会再滚动。
解决方案
不在初始化的时候执行requestFocus()操作;
监听RecyclerView的Scroll事件,判断当前跑马灯Item是否显示在当前窗口,显示则获取焦点,不显示就不执行获取焦点操作。
在xml的textview中设置
android:singleLine="true"
android:ellipsize="marquee"
android:focusable="true"
android:marqueeRepeatLimit="-1"
android:clickable="true"
android:focusableInTouchMode="true"
设置滚动:
holder.timeTv.setSelected(true);
不懂参考https://www.cnblogs.com/dasusu/p/6593991.html