最近使用竖直方向的RecyclerView中嵌套水平的RecyclerView,然后每个小的item都是一个EditText,然后让所有水平的RecyclerView联动,这样就形成了一个可以上下左右移动的并且可以填写的表格,满足产品需求;
完成后就发现了一个bug,点击屏幕外的edittext获取到焦点后水平的recyclerView就自动滚动到了头部;
首先做了这样的尝试,让edittext默认是没有焦点的,然后在item中点击后赋给edittext焦点,然后失败,证明了自动滚动确实跟EditText获取到了焦点有关系;
接着又有了尝试了,记录当前滑动的位置,监听EditText的焦点事件,在获取到焦点后再把RecyclerView拉回来,然后赋给EditText焦点,结果发现EditText先获取到焦点然后失去了焦点,拉回来后的EditText被赋予了焦点,然后再滚到头部,再拉回来,这样形成了个死循环,重复过程失败;
失败后郁郁寡欢。。。。。开始查看EditText和RexyclerView的源码,看的两眼昏花,犹如大海捞针,也没有任何的线索;打开StackOverFlow 输入RexyclerView EditText,只能看看大家有没有遇到这个问题,看了300多条发现有两个这样的问题跟我一样的问题的地址
结果都没有解决