我的 Activity 中有一个 ListView,它是在 onCreate
中设置的
MyCursorAdapter adapter = new TaskConditsCursorAdapter(this, conditsCursor, taskID, isNewTask);
setListAdapter(adapter);
然后我在 MyCursorAdapter
中做一些工作。其中,我有一个行特定的 AlertDialog:
...
builder.setPositiveButton("OK"), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
changeTaskConditBoolValue(taskId, conditId, chosenBoolValue2);
// refresh?
}
});
在 changeTaskConditBoolValue
之后,我想重新加载我的列表,因为此方法更改了数据库中的某些内容,但列表没有更新。 requery()
导致列表为空。
我怎样才能“上一级”再次使用适配器
,然后我应该怎么做?
非常感谢!
最佳答案
在 MyCursorAdapter
中由 onClick
调用的方法 - 在我的例子中是 changeTaskConditBoolValue(...)
我必须调用:
this.changeCursor(db.fetchAllTasks(myParameters));
这通过我的数据库类获取了一个新游标,并用新游标替换了它自己的旧游标。
没有找到从 CursorAdapter 内部更改光标的其他方法。
关于android - 如何从 CursorAdapter 刷新 ListView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5695893/