Java 如何在适配器类之外更新RecyclerView适配器
我正在制作一个android应用程序,它允许用户在editText中输入关键字,当他们点击submit时,下面的recyclerview将显示API请求的结果 我的recyclerView适配器类中有一个updateList()方法Java 如何在适配器类之外更新RecyclerView适配器,java,android,android-recyclerview,Java,Android,Android Recyclerview,我正在制作一个android应用程序,它允许用户在editText中输入关键字,当他们点击submit时,下面的recyclerview将显示API请求的结果 我的recyclerView适配器类中有一个updateList()方法 list = savedInfo.getResult(); // get updated list from a singleton class notifyDataSetChanged(); // update the recyclerView 我在成功发出AP
list = savedInfo.getResult(); // get updated list from a singleton class
notifyDataSetChanged(); // update the recyclerView
我在成功发出API请求后调用此方法。但是,它现在正在工作,recyclerView没有更新
mSearchBox是允许用户输入关键字的编辑文本,这是onEditorAction,它将进行API调用,如果调用成功,它将调用UpdateList(),然后适配器将获得更新的列表并执行notifyDataSetChanged()
另外,下面是设置适配器的步骤
final ResultListAdapteradapter = new ResultListAdapter();
mResult.setAdapter(adapter);
mResult.setLayoutManager(new LinearLayoutManager(getContext()));
调试步骤:我试图设置断点,发现API请求和我的Singleton类都在工作,问题只是RecyclerView
非常感谢你 当你这样做的时候
list = savedInfo.getResult();
notifyDataSetChanged();
每次创建新的列表实例时,旧的列表实例不会被引用到任何地方。因此,您应该做的不是分配给列表
list.clear()
list.addAll(savedInfo.getResult());
notifyDataSetChanged();
如果之前没有初始化
列表
,请不要忘记初始化。我们需要查看整个片段
/活动
,其中实例化了回收视图
和适配器
,以及整个适配器
类。
list.clear()
list.addAll(savedInfo.getResult());
notifyDataSetChanged();