Focus lost on refresh in recyclerview

android

Solution

Of course item will lose focus. Because no view to get focus when you refresh RecyclerView by calling method notify*Changed.

There is an imperfect way to keep focus in RecyclerView when you call `notifyDatasetChanged()`.

- Override method getItemId(), give a stable id to each item: `@Override public long getItemId(int position) { return position; }`

- Set has StableId: `adapter.setHasStableIds(true);`

- Now basically you can keep focus in a concrete item when call notifyDatasetChange, if not, disable animator: `mRecyclerView.setItemAnimator(null);`

about stable id:Android: How to make an adapter with stable ids? about disable animator:How to implement ItemAnimator of RecyclerView to disable the animation of notifyItemChanged about the reason of step3 in google code: https://code.google.com/p/android/issues/detail?id=204277

Good luck!

Problem

guys I am developing android TV app so I used recyclerview horizontally and vertically and I used a method to refresh adapter of vertical recyclerview by using adapter.notifyDataSetChanged() but I am getting one problem. 1. It's focus is being gone and on press any D-pad key it is not working only right key is working 2. I used adapter.notifyItemRangeChanged(0, categoryDataList.size()) but I have still one problem that it's focus is going on first element of layout otherwise last of layout. So Please help me as soon as possible. Thanks in advance.

Original source

Related problems