我正在使用EditText进行验证。我有三个EditText框,我想确保用户在转到ed1
之前在ed2
上键入内容。因此,我想阻止用户进入ed2
,除非他们在ed1
中放了一些东西。如果ed1
为null,则光标不会转到ed2
。有人能帮我吗?
final EditText ed1 = (EditText) findViewById(R.id.one);
final EditText ed2 = (EditText) findViewById(R.id.two);
TextWatcher watcher = new TextWatcher() {
public void afterTextChanged(Editable s) {
if (ed1.getText().toString().equals("")) {
ed2.requestFocus();
}
}
};
最佳答案
这样使用
最初使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) {
}
});