我正在使用RecyclerView addOnLayoutChangeListener()
查找点击的位置,并将重点放在列表中最后点击的项目上。但findViewByPosition(int position)
方法仅识别11个中的前7个项目。
因此,如果点击的项目位于位置8,9,10或11 view
为空并且不请求焦点。
if(clickedPosition !=-1){
recycler.addOnLayoutChangeListener(new View.OnLayoutChangeListener() {
@Override
public void onLayoutChange(View v, int i, int i1, int i2, int i3, int i4, int i5, int i6, int i7) {
View view = recycler.getLayoutManager().findViewByPosition(clickedPosition);
if (view != null) {
view.requestFocus();
}
clickedPosition = -1;
recycler.removeOnLayoutChangeListener(this);
}
});
}