Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 当使用maxlength关注EditText时,移动到下一个EditText_Android - Fatal编程技术网

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就可以使事情变得更复杂。