android 如果从数据项中删除项,则 notifyDataSetChanged 不起作用
android notifyDataSetChanged not working if delete item from data item
我正在开发一个 android 应用程序,我在其中使用一个基本适配器并在列表中显示数据 form.Now 如果我从列表中删除任何对象并调用 notifyDataSetChanged
,它没有按预期工作。我按照以下方式尝试了这个。
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
shareDataList = getData();
shareListAdapter = new SharedHistoryListAdapter(this, shareDataList);
sharedList.setAdapter(shareListAdapter);
}
@Override
protected void onResume()
{
super.onResume();
// after deleting data it is coming inside onresume ...
shareDataList = getData();
shareListAdapter.notifyDataSetChanged();
}
我检查了 activity 和适配器内部的数据大小。所以在 activity 中它显示了预期的计数,但在适配器内部它没有显示更新的计数。我错过了什么吗?需要一些帮助。
我认为,在 getData() 方法中每次都会获取新的 ArrayList 对象。
你应该简单地调用
shareListAdapter.notifyDataSetChanged();
它将完美运行
将列表设置到适配器后,您不能更改列表的引用。所以删除行
shareDataList = getData();
并替换为
shareDataList.clear();
shareDataList.addAll(getData());
现在调用 shareListAdapter.notifyDataSetChanged();
我正在开发一个 android 应用程序,我在其中使用一个基本适配器并在列表中显示数据 form.Now 如果我从列表中删除任何对象并调用 notifyDataSetChanged
,它没有按预期工作。我按照以下方式尝试了这个。
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
shareDataList = getData();
shareListAdapter = new SharedHistoryListAdapter(this, shareDataList);
sharedList.setAdapter(shareListAdapter);
}
@Override
protected void onResume()
{
super.onResume();
// after deleting data it is coming inside onresume ...
shareDataList = getData();
shareListAdapter.notifyDataSetChanged();
}
我检查了 activity 和适配器内部的数据大小。所以在 activity 中它显示了预期的计数,但在适配器内部它没有显示更新的计数。我错过了什么吗?需要一些帮助。
我认为,在 getData() 方法中每次都会获取新的 ArrayList 对象。 你应该简单地调用
shareListAdapter.notifyDataSetChanged();
它将完美运行
将列表设置到适配器后,您不能更改列表的引用。所以删除行
shareDataList = getData();
并替换为
shareDataList.clear();
shareDataList.addAll(getData());
现在调用 shareListAdapter.notifyDataSetChanged();