How to change the focus to next edit text in android?

后端 未结 9 1694
南笙
南笙 2020-12-03 01:03

\"enter

The User can enter only one digit in the edit text. if he enters the value in

9条回答
  •  半阙折子戏
    2020-12-03 01:37

    This worked for my case, also max_length of edit text should be 1.

    otp_1.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.length()>0){
                        otp_1.clearFocus();
                        otp_2.requestFocus();
                        otp_2.setCursorVisible(true);
                    }
                }
            });
    
            otp_2.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.length() > 0) {
                        otp_2.clearFocus();
                        otp_3.requestFocus();
                        otp_3.setCursorVisible(true);
                    }
                }
            });
    
            otp_3.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.length() > 0) {
                        otp_3.clearFocus();
                        otp_4.requestFocus();
                        otp_4.setCursorVisible(true);
                    }
                }
            });
    

提交回复
热议问题