我试图让下一个EditText
通过在第一个编辑文本上添加EditText
并调用TextWatcher
来获得第一个editText2.requestFocus()
最大长度的焦点TextChanged
。
现在,当我试图关注已经达到最大长度的editText1
时,问题就出现了。当我尝试键入任何字符时,它将无法关注editText2
,因为TextWatcher
将不再触发。
是否有人尝试过修复此问题?请注意,我希望尽可能地在我的布局XML上保留maxlength细节,这样代码就不会搞砸了。
答案 0 :(得分:1)
在这里尝试一下, 我假设最大长度是5,你可以设置你想要的任何数字。
EditText editText1 = findViewById(R.id.et1);
final EditText editText2 = findViewById(R.id.et2);
editText1.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) {
}
@Override
public void afterTextChanged(Editable s) {
if(s.toString().length() == 5){
editText2.requestFocus();
}
}
});