我对活动做了mListDataAdapter.notifyDataSetChanged();
并收到错误。我尝试使用onActivityResult();
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
mListDataAdapter.notifyDataSetChanged();}
答案 0 :(得分:0)
您在代码中尝试执行的操作并不十分清楚,但我猜您尝试使用onActivityResult();
以下是notifyDataSetChanged()
在大多数情况下的工作原理。首先,您有一个数据集并在适配器中显示它们。稍后当您收到新数据集或想要更新您在适配器中显示的一个或多个对象时;
List list = new ArrayList();
notifyDataSetChanged()
第二步是强制调用getView
方法。因此,当它被调用时,它将使用您刚刚操作的对象列表。因此,您将拥有一个全新的UI,其中包含对象列表中的新信息。
修改强>
当您从数据库中删除TODO时,您不会更新有关它的列表,您的适配器如何知道您刚刚更改的内容?因此,一旦从数据库中删除或添加任何内容,就需要从适配器中删除或添加相同的项目。因此,您可以在触发mListDataAdapter.add
或mListDataAdapter.remove
后致电deleteTodo(int id)
或addTodo(View view)
。
答案 1 :(得分:0)
I found answer myself after properly passing data over intents.
@覆盖 protected void onActivityResult(int requestCode,int resultCode,Intent data){
if (resultCode == RESULT_OK) {
if (requestCode == 1) {
Object object = data.getSerializableExtra("item");
mListDataAdapter.add(object);
}
}
}