在刷新的過程中,想讓數據位置定位到之前請求數據之前的位置
刷新數據時,不能每次都new adapter, 並且不能每次都setadapter,這樣的話會重新創建,並且數據全部刷新
1.可以將數據set進去,不使用構造器方式創建。
private ArrayList<String> data = new ArrayList<>();
public ArrayList<String> getData() {
return data;
}
public void setData(ArrayList<RespSportsItem> data) {
this.data = data;
}
2.要在界面初始化的時候,創建適配器,等到數據請求成功的時候,加載數據.
private void initView() {
LinearLayoutManager manager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);
recyclerView.setLayoutManager(manager);
SportsAuthorAdapter mAdapter = new SportsAuthorAdapter(this);
recyclerView.setAdapter(mAdapter);
}
3.在數據刷新變化的時候,直接使用set數據,並刷新
mAdapter.setData(list);
mAdapter.notifyDataSetChanged();