Android recyclerView每次刷新數據後都會定位在第一條

在刷新的過程中,想讓數據位置定位到之前請求數據之前的位置

刷新數據時,不能每次都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();
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章