我们可以通过添加一个带有实现的肯定按钮来执行验证
final EditText urlEditText = new EditText(this);
DialogInterface.OnClickListener event = new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
try
{
// Validate URL
new URL(urlEditText.getText().toString());
Toast.makeText(getBaseContext(), "URL Accepted", 1).show();
}
catch (MalformedURLException e) {
Toast.makeText(getBaseContext(), "Invalid URL", 1).show();
}
}
};
AlertDialog dialog = new AlertDialog.Builder(this)
.setTitle("Enter the server URL here")
.setNegativeButton("Cancel", null)
.setPositiveButton("Ok",event)
.setView(urlEditText)
.create();
dialog.show();
如果我们输入了错误的 URL,它将被验证并显示错误的 URL Toast
。但是,对话框被关闭,它应该仍然显示,直到用户按下“取消”或输入正确的 URL。这里有一些解决方案,例如重新创建对话框并将其再次显示给用户,但这是一个好主意。
有没有办法如果我们输入错误的 URLAlertDialog
仍然存在?