RecyclerView

2019-11-06  本文已影响0人  Suu9777

导致RecyclerView不刷新,代码不走Adapter的原因:

1,new Adapter时,传入的对象为null(地址为空),必须传入一个有地址的实例。

错误示例:
Adapter adapter = new Adapter(a)

正确示例:
A a=new A;
adapter = new Adapter(a) (正确)

2,传入正确实例后,又将该实例变为别的实例的引用。之后修改实例的值,调用adapter.notifyDataSetChanege()方法后recyclerView不刷新。

错误示例:
List a=new ArrayList();
adapter = new Adapter(a) ;
a=b;
adapter.notifyDataSetChanege();

正确示例:
List a=new ArrayList();
adapter = new Adapter(a) ;
a.clear();
a.addAll(b)
adapter.notifyDataSetChanege();

3,没有执行RecyclerView.setLayoutManager(layoutManager)方法。

正确示例:
Adapter a = new Adapter();
RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(this);
RecyclerView r = findviewById(R.id.recyclerView);
r.setLayoutManager(layoutManager);
r.setAdapter(a);

上一篇下一篇

猜你喜欢

热点阅读