Android 当使用maxlength关注EditText时,移动到下一个EditText
我试图通过在第一个编辑文本上添加一个Android 当使用maxlength关注EditText时,移动到下一个EditText,android,Android,我试图通过在第一个编辑文本上添加一个TextWatcher,并在TextChanged上调用editText2.requestFocus()使下一个EditText在到达第一个EditText时获得焦点 现在,当我试图将注意力集中在已达到最大长度的editText1上时,出现了问题。当我尝试输入任何字符时,它将不会聚焦到editText2,因为TextWatcher将不再触发 有人试过解决这个问题吗?请注意,我希望尽可能在布局XML上保留maxlength详细信息,这样代码就不会被弄乱。这里试试
TextWatcher
,并在TextChanged
上调用editText2.requestFocus()
使下一个EditText
在到达第一个EditText
时获得焦点
现在,当我试图将注意力集中在已达到最大长度的editText1
上时,出现了问题。当我尝试输入任何字符时,它将不会聚焦到editText2
,因为TextWatcher
将不再触发
有人试过解决这个问题吗?请注意,我希望尽可能在布局XML上保留maxlength详细信息,这样代码就不会被弄乱。这里试试这个,
我假设最大长度是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();
}
}
});
你能发布一些示例代码吗?对不起,我现在不能。但是你可以在这里看到使用textwatcher将焦点移动到下一个视图的示例,这正是我所做的。只需添加maxlength就可以使事情变得更复杂。