我正在开发一个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();

}

我检查了活动内部和适配器内部的数据大小。因此在活动中,它按预期显示计数,但在适配器中,它不显示更新的计数。我遗漏了什么吗?需要帮助。

最佳答案

在将列表设置为适配器后,不能更改列表的引用。所以去掉这条线

 shareDataList = getData();

替换为
    shareDataList.clear();
    shareDataList.addAll(getData());

现在调用shareListAdapter.notifyDataSetChanged();

09-25 20:45