0

为什么不工作 setText("")?EditText 存储最后输入的数据,当我再次调用 AlertDialog 时,显示存储的数据。

case IDD_SET_NAME:
builder=new AlertDialog.Builder(this);
builder.setTitle("Name Title");

EditText input = new EditText(this);
input.setText("");//This method not work
builder.setView(input);

   builder.setPositiveButton("Create", onClickListener_DialogResetPin);
   builder.setNeutralButton("Cancel", onClickListener_DialogResetPin);

   // create and show dialog
   dialog = builder.create();
   dialog.show();

    Button btnOK = dialog.getButton(AlertDialog.BUTTON_POSITIVE);
    btnOK.setOnClickListener(onClickListener_btnOK);

    break;
4

2 回答 2

0

如果你这样做,你Dialog就不会被摧毁dismiss。因此,如果您再次显示它,它将不会被重新创建并且input.setText("");不会运行。如果要dialog重新创建,请使用removeDialog()而不是dismissDialog()

于 2012-10-09T09:24:46.537 回答
0

您在 onCreateDialog 中。这仅在您第一次显示对话框时调用。如果您要对警报执行修改,则应在 onPrepareDialog 中进行。

一点调试和文档阅读会在这里帮助你。

于 2012-10-19T08:30:00.240 回答