如何防止单击按钮时对话框关闭

我有一个EditText用于输入的对话框。当我单击对话框上的“是”按钮时,它将验证输入,然后关闭对话框。但是,如果输入错误,我希望保留在同一对话框中。每次无论输入什么,当我单击“否”按钮时,都应自动关闭对话框。如何禁用此功能?顺便说一句,我在对话框上的按钮上使用了PositiveButton和NegativeButton。

回答:

编辑:这仅在API 8+上有效,如某些注释所述。

这是一个较晚的答案,但是您可以在AlertDialog中添加onShowListener,然后在其中可以覆盖按钮的onClickListener

final AlertDialog dialog = new AlertDialog.Builder(context)

.setView(v)

.setTitle(R.string.my_title)

.setPositiveButton(android.R.string.ok, null) //Set to null. We override the onclick

.setNegativeButton(android.R.string.cancel, null)

.create();

dialog.setOnShowListener(new DialogInterface.OnShowListener() {

@Override

public void onShow(DialogInterface dialogInterface) {

Button button = ((AlertDialog) dialog).getButton(AlertDialog.BUTTON_POSITIVE);

button.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

// TODO Do something

//Dismiss once everything is OK.

dialog.dismiss();

}

});

}

});

dialog.show();

以上是 如何防止单击按钮时对话框关闭 的全部内容, 来源链接: utcz.com/qa/401778.html

回到顶部