Android 达到maxLength后,如何将焦点更改为下一个EditText?

Android 达到maxLength后,如何将焦点更改为下一个EditText?,android,Android,我的应用程序使用电话号码注册。因此,出于某些原因,我划分了电话号码输入。此外,我还为它们设置了maxLength。假设有两个editText,第一个限制为2个单位。输入2个单位后,应用程序应自动发送用户或将焦点更改为另一个EditText 试试这个: edittext1.addTextChangedListener(new TextWatcher() { public void onTextChanged(CharSequence s, int start,int before, in

我的应用程序使用电话号码注册。因此,出于某些原因,我划分了电话号码输入。此外,我还为它们设置了maxLength。假设有两个editText,第一个限制为2个单位。输入2个单位后,应用程序应自动发送用户或将焦点更改为另一个EditText

试试这个:

edittext1.addTextChangedListener(new TextWatcher() {

    public void onTextChanged(CharSequence s, int start,int before, int count) 
    {
        // TODO Auto-generated method stub
        if(edittext1.getText().toString().length()==size)     //size is your limit
        {
            edittext2.requestFocus();
        }
    }
    public void beforeTextChanged(CharSequence s, int start,
                    int count, int after) {
                // TODO Auto-generated method stub

    }

    public void afterTextChanged(Editable s) {
                // TODO Auto-generated method stub
    }

});
在java中:

editText1.addTextChangedListener(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) {

            }

            @Override
            public void afterTextChanged(Editable editable) {
                if(editable.toString().length() == 2) {
                    editText2.requestFocus()
                }
            }
        });
在科特林:

editText1.doOnTextChanged { text, start, count, after ->
            if(count == 2) {
                editText2.requestFocus()
            }
        }

谢谢,但是另一个答案有更多的信息,所以我检查了那个答案,对不起。没问题@SardorAKayumovBro。你能告诉我怎么做吗。从edittext2到edittext1?主要问题是要将焦点设置在editText2的最后一个字符上。您只需使用addTextChangedListener方法将另一个TextWatcher设置为editText2,并在该TextWatcher的afterTextChanged方法中执行editText1.requestFocus when editable.toString.lenght==yourEditText2Size