我想在我的应用程序中有一个警报对话框,每次显示时都会更新它的消息。这是因为对话框的值取决于应用程序上的某些值。
现在我尝试使用 showDialog 方法:
@Override
public boolean onTouch(View arg0, MotionEvent arg1) {
showDialog(RESULT_DIALOG);
return false;
}
但是一旦创建了对话框,它就不会改变消息(我知道如果创建了对话框,它会使用启动的版本)。
我的 onCreateDialog 方法代码是:
public Dialog onCreateDialog(int dialogId) {
AlertDialog dialog;
switch(dialogId) {
case RESULT_DIALOG:
// do the work to define the pause Dialog
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage(localTv.getText())
.setCancelable(false)
.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
dialog = builder.create();
break;
default:
dialog = null;
}
return dialog;
}
有一种方法可以更新 AlertDialog 的内容。实际上,每次调用 onTouch 事件时,我都会创建一个新对话框。但我不确定这是解决这个问题的最干净的方法。
任何想法?谢谢 :)