我延长了
RecyclerView.Adapter<RecyclerView.ViewHolder>
当我打电话的时候:
mRecyclerView.getAdapter().notifyDataSetChanged();
什么也没发生。
刷新视图的唯一方法是再次设置适配器(请参见此答案):
mRecyclerView.setAdapter(new MyAdapter(...));
我对此解决方案有两个问题:
有什么想法吗?
根据javadocs:如果您正在编写一个适配器,如果可以的话,使用更具体的更改事件总是会更有效。依靠notifyDataSetChanged()
作为最后手段。
public class NewsAdapter extends RecyclerView.Adapter<...> {
private static List mFeedsList;
...
public void swap(List list){
if (mFeedsList != null) {
mFeedsList.clear();
mFeedsList.addAll(list);
}
else {
mFeedsList = list;
}
notifyDataSetChanged();
}
我正在使用改装来获取列表,在改装的onResponse()使用中,
adapter.swap(feedList);
如果您的< code>getItemCount()返回0,那么< code > notifyDataSetChanged()将不会执行任何操作。确保在初始化适配器时,传递的是有效的数据集。
如果< code > notifyDataSetChanged()没有触发视图更新,那么您可能忘记了在RecyclerView上调用< code>SetLayoutManager()(就像我一样!).只是不要忘记这样做:Java代码:
LinearLayoutManager layoutManager = new LinearLayoutManager(context ,LinearLayoutManager.VERTICAL, false);
recyclerView.setLayoutManager(layoutManager)
C#代码,我用的是Xamarin。
var layoutManager = new LinearLayoutManager(Context, LinearLayoutManager.Vertical, false);
recyclerView.SetLayoutManager(layoutManager);
在调用recyclerView.SetAdapter(适配器)
之前;
如果您更喜欢用 xml 声明它,这样您就不会在代码中忘记它,您也可以将这些行添加到回收器的 xml 中查看:
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
android:orientation="vertical"
我正在从Firebase数据库获取一些数据,并试图用它填充适配器。在适配器的被调用后,屏幕闪烁,什么也没发生,我甚至无法在onBindViewHolder中捕捉到断点。 这是我的代码: POJO类: } 这是我的活动布局,称为“活动结果”。包含RecyclerView的xml 这是我的Adapters ViewHolder布局,名为score_view_holder。xml 因此,它将包含两个水平
问题内容: 我正在 RecyclerView上* 工作,并尝试使用 Interface来 对recyclcerview的每个项目使用点击监听器 * 这是我的活动课: 这是我的适配器类 最后我将这个接口用于侦听器: 此过程可以正常运行我的应用程序的所有其他部分,但不适用于这种情况。我不知道问题出在哪里。请帮我 。 问题答案: 您这种方法:
我有以下一段代码: 这是我得到的错误: 还有这个: 我错过了什么?
在我的主要活动中,我有三个循环利用的观点。 其中一个在底部工作表中,它是主要的(默认情况下,底部工作表是打开以显示这个),在其适配器的onbind方法中,我做了一个onClickListener,以便当用户单击其中的项目时,我想要, 我想回到主活动类来设置To Start一个方法,它的滚动是关闭底表并为下一个回收视图设置数据(当底表关闭时会出现) ......这里的问题是如何从onBind方法的L
一切正常。但Logcat中显示了一些错误。 E/RecyclerView:未附加适配器;跳过布局 E/RecyclerView:未附加适配器;跳过布局 我的activity代码: 我读过与同一问题有关的其他问题,但都没有帮助。请帮帮我
我在向我的GsonBuilder注册多个TypeAdapter时遇到问题。似乎只有一个会开火,而第二个永远不会被考虑。如果我单独使用每一个,它似乎工作得很好。但我需要他们一起工作,而且似乎我做错了什么。此外,我目前正在使用GSON v2。2.4. Zip对象简单表单: 拉链系列: 简单形式: JsonResponseSerializer: 测试示例: 输出: 预期输出:(注意ZipSerializ