メイン アクティビティに 3 つのボタンがあるアプリがあります。これらのボタンの 1 つは、SQL データベースをダウンロード、解析、入力し、ユーザーが行ったすべての変更を基本的に削除するリセット ボタンです。リセット ボタンをクリックすると、アクションを確認するアラート ダイアログが表示されます。ユーザーが「いいえ」(つまり、アプリをリセットしたくない) と言うと、ダイアログ ボックスが閉じ、メイン メニューが再び表示されます。次に、ユーザーがボタンをクリックして、データベースからのアイテムが取り込まれたリストビューを表示しても、アプリを再起動しない限り、これは起こりません。なぜこれが起こるのか理解できず、LogCat にエラーはありません。
public void resetApp(View view) {
//TODO progress dialog
AlertDialog.Builder alertBuilder = new AlertDialog.Builder(this);
alertBuilder.setTitle("Confirm reset");
alertBuilder.setMessage("Are you sure you want reset the app and lose all changes?");
alertBuilder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// execute download task again
new DownloadTask().execute(getApplicationContext());
}
});
alertBuilder.setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
AlertDialog alert = alertBuilder.create();
alert.show();
CandidatesDatabaseHelper dbHelper = new CandidatesDatabaseHelper(getApplicationContext());
dbHelper.onReset(dbHelper.getWritableDatabase());
}