Android 如何在警报输入对话框中要求非空白文本
我想通过警报对话框检索用户输入。。。有没有办法使编辑文本为空时用户不能按Ok?我的意思是要求他键入一些内容?您可以使用textchangeListener在PostTextChange方法中实现这一点,检查editText的文本,并根据长度设置启用或禁用Ok按钮,如下所示:Android 如何在警报输入对话框中要求非空白文本,android,Android,我想通过警报对话框检索用户输入。。。有没有办法使编辑文本为空时用户不能按Ok?我的意思是要求他键入一些内容?您可以使用textchangeListener在PostTextChange方法中实现这一点,检查editText的文本,并根据长度设置启用或禁用Ok按钮,如下所示: editText.addTextChangedListener(new TextWatcher() { public void afterTextChanged(Editabl
editText.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {
//XXX do something
if(editText.getText().length()>0)
btnOk.setEnabled(true);
else
btnOk.setEnabled(false);
}
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
//XXX do something
}
public void onTextChanged(CharSequence s, int start, int before, int count) {
//XXX do something
}
});
您可以使用textchangeListener在editText的PostTextChange方法检查文本中实现这一点,并根据长度设置启用或禁用Ok按钮,如下所示:
editText.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {
//XXX do something
if(editText.getText().length()>0)
btnOk.setEnabled(true);
else
btnOk.setEnabled(false);
}
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
//XXX do something
}
public void onTextChanged(CharSequence s, int start, int before, int count) {
//XXX do something
}
});
使用警报对话框的自定义布局。例:
Dialog dialog = new Dialog(this);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.your_layout_name);
//sample for getting view id...
//TextView dialogbody=(TextView) dialog.findViewById(R.id.dialogbody);
使用警报对话框的自定义布局。例:
Dialog dialog = new Dialog(this);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.your_layout_name);
//sample for getting view id...
//TextView dialogbody=(TextView) dialog.findViewById(R.id.dialogbody);
这需要自定义布局吗?或者是否有方法访问AlertDialog的默认ok按钮?您也可以使用dialog的默认按钮:AlertDialog.getButtonwhichButton.setEnabledenabled;对于未来的读者:在调用show之前,API 7中的getButton返回null存在一个问题,该问题在2.2中已修复。解决方案呼叫先显示,这需要自定义布局吗?或者是否有方法访问AlertDialog的默认ok按钮?您也可以使用dialog的默认按钮:AlertDialog.getButtonwhichButton.setEnabledenabled;对于未来的读者:在调用show之前,API 7中的getButton返回null存在一个问题,该问题在2.2中已修复。解决方案呼叫先显示,