我有一个列表视图,其中填充了几个 ListItem。我还有一个选项菜单,其中包括“删除所有项目”按钮。当我点击这个按钮时,它会调用一个方法来删除除默认值之外的所有项目,并且还应该刷新 ListView。这是菜单代码:
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId())
{
...
case R.id.optMenuDeleteAllCategories:
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Are you sure you want to delete all categories?")
.setCancelable(false)
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
**deleteAllCategories();**
}
这是deleteAllCategories()
方法:
public void deleteAllCategories()
{
manager.deleteAllCategories();
adapter.notifyDataSetChanged();
}
所以它确实会删除所有内容,但 ListView 不会刷新。我必须退出应用程序并重新打开它才能看到更改。我也尝试adapter.notifyDataSetChanged();
在调用deleteAllCategories
方法后立即放置该行,但 ListView 仍然没有刷新。
那么如何在不退出应用程序的情况下刷新它呢?