【发布时间】:2012-06-21 07:54:10
【问题描述】:
我知道你可以调用 notifyDataSetChanged();在这种情况下你会怎么做——有可能吗?
ListView listView = getListView();
listView.setTextFilterEnabled(true);
setListAdapter(new ArrayAdapter<String>(Items.this, R.layout.list, items));
编辑:我已更改为以下建议之一。这是我正在做的事情:
protected void onPostExecute(Void v) {
adapter = new ArrayAdapter<String>(Items.this, R.layout.list, items);
setListAdapter(adapter);
adapter.notifyDataSetChanged();
}
在这里,我在 AsyncTask 方法中刷新。这是在一个对话框内调用的,在 ListLiew 顶部有一个提交按钮。对话框将新数据插入数据库,我希望刷新列表以反映这一点。我已经在对话框中的按钮的 onClick 和上面尝试了这段代码。就在对话框关闭之前。
【问题讨论】:
-
您是否使用新插入的元素更新您的项目列表,然后尝试通知适配器?
-
是的,我调用 HttpPost,运行脚本通过 PHP 将数据插入数据库。然后回到 Java 中,我尝试在完成后刷新列表视图。
标签: android listview android-listview listactivity