我的主要活动中有一个 SimpleCursorAdapter 和一个列表。当数据库中没有项目时,我设置了一个 emptyView 显示。但是 AsyncTask 每次都会为 onResume 创建一个新列表。因此,在加载列表之前,我会在几分之一秒内看到 emptyView 屏幕。现在我需要 AsyncTask,因为数据查询必须在单独的线程上运行。但我不喜欢每次都弹出emptyView。我在下面附上了我的 AsyncTask 和 onResume 方法。两者都在编译。我该怎么做?
class GetItems extends AsyncTask<Object, Void, Cursor> {
DbHelper dbHelper = new DbHelper (MainActivity.this);
@Override
protected Cursor doInBackground(Object... params) {
dbHelper.open();
return dbHelper.getAllItems();
}
@Override
protected void onPostExecute(Cursor result) {
adapter.changeCursor(result);
dbHelper.close();
}
}
@Override
protected void onResume() {
super.onResume();
new GetItems().execute((Object[]) null);
}