我在主要活动上有一个带3个按钮的应用程序。其中一个按钮是一个重置按钮,用于下载,解析和填充sql数据库,并基本上删除用户所做的所有更改。 单击重置按钮时,将弹出警告对话框以确认操作。如果用户说“不”(即不想重置应用程序),则关闭对话框并再次显示主菜单。然后,当用户单击a按钮以查看填充了数据库中的项目的列表视图时,除非重新启动应用程序,否则不会发生这种情况。我不明白为什么会发生这种情况,并且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());
}
答案 0 :(得分:1)
当用户选择“是”时,需要执行这些行:
CandidatesDatabaseHelper dbHelper = new CandidatesDatabaseHelper(getApplicationContext()); dbHelper.onReset(dbHelper.getWritableDatabase());