现象:在使用RecyclerView时,在实现一个 单选功能时,由于更新了list中的数据值为选中后,其他数据为非选中状态,此时就需要调用notifyDataSetChanged来更新界面,列新之前,焦点在第二个,调用notifyDataSetChanged后,焦点会跑到第一个或者第四个,导致焦点错成,采用如下方法可以解决: 1、在Adapter中设置setHasStableIds(true);
2、重写getItemId();
public long getItemId(int position) {
return position;
}