0

メイン アクティビティに 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());
}
4

1 に答える 1

1

ユーザーが「はい」を選択したときにこれらの行を実行する必要があります。

CandidatesDatabaseHelper dbHelper = new CandidatesDatabaseHelper(getApplicationContext());
dbHelper.onReset(dbHelper.getWritableDatabase());
于 2012-12-17T02:25:13.143 に答える