我有一些数据库,我用服务更新,我想在恢复时更新我的listView,或者不时刷新它的新数据,但它不起作用。
这是我的代码(评论中的代码不起作用,有时会导致应用程序崩溃)
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
taskLiteApplication = ((TaskLiteApplication)getApplicationContext());
listGroupTask = taskLiteApplication.getCtrlGroupTask().getListGroupTaskToDoAndToReview(taskLiteApplication.getUser());
Log.d(TAG, "nbtask to do an to review from DB :"+listGroupTask.size());
if(listGroupTask.size() > 0) {
setContentView(R.layout.to_do_layout);
ListView lv = (ListView) findViewById(R.id.ListViewGroupTaskToDoToDo);
//set adapter
groupTaskToDoBaseAdapter = new GroupTaskToDoBaseAdapter(this, listGroupTask);
lv.setAdapter(groupTaskToDoBaseAdapter);
} else {
TextView textView = new TextView(this);
textView.setText("No tasks to do found!");
setContentView(textView);
}
}
public void onResume() {
super.onResume();
//listGroupTask = taskLiteApplication.getCtrlGroupTask().getListGroupTaskToDoAndToReview(taskLiteApplication.getUser());
//groupTaskToDoBaseAdapter.notifyDataSetChanged();
Log.d(TAG, "on resume");
}
答案 0 :(得分:1)
你在这里尝试了什么:
listGroupTask = taskLiteApplication.getCtrlGroupTask().getListGroupTaskToDoAndToReview(taskLiteApplication.getUser());
您是否想为ListView提供全新的数据集?如果是这样,那么在你的适配器中实现一些方法,比如添加/删除/删除/替换等,然后再调用
groupTaskToDoBaseAdapter.notifyDataSetChanged();