ユーザーが最初に を入力したときにデータベースにロードするデータがあり、このデータが初めてロードされるときActivity
に表示したいと考えています。ProgressDialog
私のアクティビティは であり、データが実際にそこにあることを確認するまで、アダプターを渡すまたは呼び出しをExpandableListActivity
作成しません。私はこのように見えます:SimpleExpandableListAdapter
setListAdapter
onCreate
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mCategoryDbHelper = new CategoryDBHelper(this);
// Build default categories... if not there yet
CategoryDbBuilder builder = new CategoryDbBuilder(this);
if (!builder.hasCategoriesInTable()) {
showDialog(PROGRESS_DIALOG_ID);
builder.fillDbWithDefaultCategories();
removeDialog(PROGRESS_DIALOG_ID);
}
populate();
}
私はonCreateDialog
そのように上書きしました:
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case PROGRESS_DIALOG_ID: {
ProgressDialog dialog = new ProgressDialog(this);
dialog.setMessage("Loading categories for the first time. Please wait...");
dialog.setIndeterminate(true);
dialog.setCancelable(false);
return dialog;
}
}
return null;
}
このpopulate()
メソッドは、データベースを読み取り、リスト アダプターをセットアップしてから、 を呼び出しますsetListAdapter
。
これは簡単なように思えますが、非常に面倒な作業です。どんな助けでも大歓迎です。:-)