我正在开发一个Android应用程序,其中我使用一个基本适配器并以列表形式显示数据。现在发生了什么如果我从列表中删除任何对象,如果我调用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();
}
我检查了我的活动内部和适配器内部的数据大小。所以在活动中它显示计数符合预期,但在适配器内它没有显示更新计数。我错过了什么吗?需要一些帮助。
答案 0 :(得分:6)
将列表设置为适配器后,无法更改列表的引用。所以删除行
shareDataList = getData();
并替换为
shareDataList.clear();
shareDataList.addAll(getData());
现在调用shareListAdapter.notifyDataSetChanged();
答案 1 :(得分:1)
shareListAdapter.notifyDataSetChanged();
它将完美地运作