Edit text for OTP with Each letter in separate positions

后端 未结 19 1040
别跟我提以往
别跟我提以往 2020-12-13 00:25

I\'m working on a application which asks for OTP when user want to reset his password for which I need a text like the one in attached Image... What I thought to proceed wi

19条回答
  •  谎友^
    谎友^ (楼主)
    2020-12-13 00:57

    In Kotlin, You may use bellow like.. It is working fine

    editText1.setOnKeyListener(View.OnKeyListener { v, keyCode, event ->
            if (keyCode == KeyEvent.KEYCODE_DEL && event.getAction() == KeyEvent.ACTION_DOWN) {
                //Perform Code
    
                if(editText1.hasFocus()){
                    editText1.setText("")
                    editText1.requestFocus()
                    return@OnKeyListener true
                }
                //return@OnKeyListener true
            }
            false
        })
    
        editText2.setOnKeyListener(View.OnKeyListener { v, keyCode, event ->
            if (keyCode == KeyEvent.KEYCODE_DEL && event.getAction() == KeyEvent.ACTION_DOWN) {
                //Perform Code
                if(editText2.hasFocus()){
                    //txtOTP_2.requestFocus()
                    editText2.setText("")
                    editText1.requestFocus()
                    return@OnKeyListener true
                }
                //  return@OnKeyListener true
            }
            false
        })
    
        editText3.setOnKeyListener(View.OnKeyListener { v, keyCode, event ->
            if (keyCode == KeyEvent.KEYCODE_DEL && event.getAction() == KeyEvent.ACTION_DOWN) {
                //Perform Code
                if(editText3.hasFocus()){
                    //txtOTP_2.requestFocus()
                    editText3.setText("")
                    editText2.requestFocus()
                    return@OnKeyListener true
                }
                //return@OnKeyListener true
            }
            false
        })
    
        editText4.setOnKeyListener(View.OnKeyListener { v, keyCode, event ->
            if (keyCode == KeyEvent.KEYCODE_DEL && event.getAction() == KeyEvent.ACTION_DOWN) {
                //Perform Code
                if(editText4.hasFocus()){
                    // txtOTP_4.requestFocus()
                    editText4.setText("")
                    editText3.requestFocus()
                    return@OnKeyListener true
                }
                // return@OnKeyListener true
            }
            false
        })
    

提交回复
热议问题