我正在尝试使用TextWathcher验证某些EditText,如下所示:
TextWatcher textWatcher = new TextWatcher() {
boolean ServerOK = false;
boolean NameOK = false;
boolean EmpidOK = false;
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
String txtName = txtEmployeeName.getText().toString();
String txtEmpid = txtEmployeeID.getText().toString();
if(URLUtil.isValidUrl(txtServerName.getText().toString()))
{
ServerOK = true;
}
// Name input is fine
if(txtName.length() > -1) {
NameOK = true;
}
// Employee ID input is fine
if(txtEmpid.length() > -1) {
EmpidOK = true;
}
// Validate both fields and activate button if all OK
if (NameOK && ServerOK && EmpidOK) {
btnRegister.setEnabled(true);
} else {
btnRegister.setEnabled(false);
}
System.out.println(NameOK + " " + EmpidOK + " " + ServerOK);
}
};
txtEmployeeName.addTextChangedListener(textWatcher);
txtServerName.addTextChangedListener(textWatcher);
txtEmployeeID.addTextChangedListener(textWatcher);
}
E/SpannableStringBuilder: SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
试试这个
TextWatcher textWatcher = new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
btnRegister.setEnabled(!txtEmployeeName.getText().toString().isEmpty() && !txtEmployeeID.getText().toString().isEmpty()&&URLUtil.isValidUrl(txtServerName.getText().toString()));
}
};
不要忘记在创建时添加BTnRegister.SetEnabled(false);
在Android应用程序中,我有一个< code>EditText,它应该用应用程序数据中的值替换某些字符串。 例如,如果用户键入则应将其替换为当前登录的用户的名称。 在 的 方法中的可编辑参数将替换为正确的值,但问题是,如果我按下任何字符,被替换为实际用户名之后,它会附加后跟按下的字符。 e. g. 假设当前登录的用户名是 a、 如果输入 b.< code>afterTextChanged()将
可能重复: 以编程方式检索Android API版本 我需要如果运行应用程序api级别的手机是14,这是android 4.0或更高(示例api levcel 15),那么启动活动...或者如果api级别低于14(示例13),那么启动活动... 怎么了?
我正在尝试使用TextWatcher界面,以检测哪个EditText被更改了。我有一个使用10个EditTexts的活动,为每个文本使用10个TextWatchers看起来很奇怪。 有没有办法只使用一个TextWatcher,并在函数afterTextChanged中的可编辑项上使用switch语句?
在上一节我们讲到了 TextView,它用来显示一段文本。这一节可以算作成是 TextView 的延续,因为从功能上 EditText 在 TextView 的基础之上多了一个输入的功能;从代码上 EditText 是继承自 TextView 的子类,所以我们可以大胆的理解为, EditText 是一种带有输入功能的高级 TextView。 1. EditText 的特性 在学习过 TextVie
我正在使用此链接中的自定义日历。它可以工作,但除了当月之外,所有月份的日期都被灰色化了。我想显示所有的月份时,就像第二个截图。但是除了当月(即四月)以外的所有月份都是灰色的。谁能帮助我在显示每个月像第二个截图和不像第一个截图?
将此添加到我的后,它在键入时会出现滞后。我猜问题是在列表中搜索(列表中有40到60个项目)。 我能做什么?