0

当用户覆盖备份数据库时,我试图弹出一个对话框,所以我编写了这段代码,但它没有用:

$if(backupDB.exists()){
    AlertDialog.Builder builder = new AlertDialog.Builder(getBaseContext());
    builder.setTitle("Backup database...");
    builder.setMessage("You have already backup the database, do you want to overwrite?");

    builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int item) {
           Intent i=new Intent(getBaseContext(),FinancialSecretary.class);
           finish();
           startActivity(i);
        }
    });
    AlertDialog dialog = builder.create();
}

什么是错?

4

4 回答 4

2

只需在您的代码后添加:

dialog.show();
于 2012-11-30T12:50:31.467 回答
2

用于此代码只需尝试一下:

AlertDialog.Builder builder = new AlertDialog.Builder(ActivityName.this);

你需要什么方法实现和最后一个设置来显示对话框,

builder.show();
于 2012-11-30T12:54:17.903 回答
0

是的,你忘了把 show :) 。

这是我喜欢使用的代码,只需填写您需要的内容,然后添加标题和您需要的其他内容:

new AlertDialog.Builder(this).setView(pozadina).setPositiveButton("Ok", new OnClickListener () {

        public void onClick(DialogInterface dialog, int which) {


        }


    }).setNegativeButton("Cancel", new OnClickListener() {

        public void onClick(DialogInterface dialog, int which) {


        }
    }).show();
于 2012-11-30T12:55:48.673 回答
0

有两个问题:

1) 创建对话框时,不能使用baseContext(),应该使用activity:

AlertDialog.Builder builder = new AlertDialog.Builder(CurrentActivity.this);

2) 你忘了调用 dialog.show()。

于 2012-11-30T13:09:02.173 回答