今天记录一下,项目中使用recycleView来显示数据,动态更新,写了一大圈才发现问题出在比较简单的地方,这里也给大家提个醒,遇到RecycleView动态更新数据不显示的问题分三步走:
第一步:
progressDevFragment.setVisibility(View.INVISIBLE);
RecyclerView recyclerView = view.findViewById(R.id.recycler_view);
GridLayoutManager layoutManager = new GridLayoutManager(view.getContext(), 1);
recyclerView.setLayoutManager(layoutManager);
if (comStaList.size() == presenter.getDeviceLength() && rtAiList.size() == presenter.getRtaiLength()) {
adapter = new MainAdapter(ghList, comStaList, rtAiList, deviceList);
recyclerView.setAdapter(adapter);
} else {
comStaList.clear();
rtAiList.clear();
comStaList.addAll(presenter.getComstaListData());
rtAiList.addAll(presenter.getRtaiListData());
initAdapter();
}
请忽略没用的代码,关键是你是否使用中间变量List<T>的 .addAll()方法,这里涉及到数据源地址得问题,如果我直接使用
MainAdapter ad