在同一个RecyclerView的适配器类中更新RecyclerView可以通过以下步骤实现:
下面是一个示例代码:
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
private List<String> mData;
public MyAdapter(List<String> data) {
mData = data;
}
public void updateData(List<String> newData) {
mData = newData;
notifyDataSetChanged();
}
// 其他适配器相关的方法...
public static class ViewHolder extends RecyclerView.ViewHolder {
// ViewHolder相关的代码...
}
}
// 在RecyclerView的Activity或Fragment中使用适配器
public class MyActivity extends AppCompatActivity {
private RecyclerView mRecyclerView;
private MyAdapter mAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mRecyclerView = findViewById(R.id.recycler_view);
// 初始化RecyclerView的LayoutManager和数据集
LinearLayoutManager layoutManager = new LinearLayoutManager(this);
mRecyclerView.setLayoutManager(layoutManager);
List<String> data = new ArrayList<>();
mAdapter = new MyAdapter(data);
// 设置RecyclerView的适配器
mRecyclerView.setAdapter(mAdapter);
}
// 当需要更新RecyclerView时调用该方法
private void updateRecyclerView() {
List<String> newData = new ArrayList<>();
// 添加新的数据到newData中...
mAdapter.updateData(newData);
}
}
这样,当调用updateRecyclerView()
方法时,适配器类中的数据集会被更新,并且RecyclerView会刷新显示新的数据。
领取专属 10元无门槛券
手把手带您无忧上云