我正在使用EditText制作验证表单。我有三个EditText框,我想确保用户在转到Measure
之前在DesiredSize
上输入内容。所以,我想阻止用户转到ed1
,除非他们在ed2
中添加内容。如果ed2
为空,则光标不会转到ed1
。有人能帮助我吗?
ed1
答案 0 :(得分:1)
像这样使用
最初将ed2设为禁用
android:enabled="false"
并在课程文件中使用
ed1.addTextChangedListener(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) {
if (s.length()>0) {
ed2.setEnabled(true);
}
else
{
ed2.setEnabled(false);
}
}
@Override
public void afterTextChanged(Editable s) {
}
});
答案 1 :(得分:0)
TextUtil
检查空输入。 根据用途使用editText.setEnabled()
方法或editText.setActivated()
。
另外,使用drawable.xml更改View
final EditText ed1 = (EditText) findViewById(R.id.one);
final EditText ed2 = (EditText) findViewById(R.id.two);
TextWatcher watcher = new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
public void afterTextChanged(Editable s) {
if (TextUtils.isEmpty(ed1.getText())) {
//ed2.requestFocus();
ed2.setEnabled(false);
}
}
};
让我知道它对你有帮助。