Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.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 OnKeyListener不工作_Android - Fatal编程技术网

Android OnKeyListener不工作

Android OnKeyListener不工作,android,Android,我希望四个edittext插入像ABC-0000-0000-0000这样的数据,因为当一个edittext填充时,我应用了textwatcher向前移动,当按下delete键时,它应该向后移动 我的代码是- EditText.OnKeyListener returnKeyListener=新建EditText.OnKeyListener(){ 当keycode事件发生时,添加return true;。如果没有它,侦听器将无法启动 @Override public boolea

我希望四个edittext插入像ABC-0000-0000-0000这样的数据,因为当一个edittext填充时,我应用了textwatcher向前移动,当按下delete键时,它应该向后移动

我的代码是-

EditText.OnKeyListener returnKeyListener=新建EditText.OnKeyListener(){


当keycode事件发生时,添加
return true;
。如果没有它,侦听器将无法启动

     @Override
    public boolean onKey(View v, int keyCode, KeyEvent event) {

        if (keyCode == KeyEvent.KEYCODE_DEL) {

            if (v.getId() == editToken_4.getId() && (TextUtils.isEmpty(editToken_4.getText())) || editToken_4.getSelectionStart()==0) {

                editToken_3.setSelection(editToken_3.getText().length());
                editToken_3.requestFocus();

            }

            if (v.getId() == editToken_3.getId() && (TextUtils.isEmpty(editToken_3.getText())) || editToken_3.getSelectionStart()==0 ) {

                editToken_2.setSelection(editToken_2.getText().length());
                editToken_2.requestFocus();

            }

            if (v.getId() == editToken_2.getId() && (TextUtils.isEmpty(editToken_2.getText())) || editToken_2.getSelectionStart()==0){

                editToken_1.setSelection(editToken_1.getText().length());
                editToken_1.requestFocus();
            }
            return true;   //add this
        }

        return false;
    }
};

当keycode事件发生时,添加
return true;
。如果没有它,侦听器将无法启动

     @Override
    public boolean onKey(View v, int keyCode, KeyEvent event) {

        if (keyCode == KeyEvent.KEYCODE_DEL) {

            if (v.getId() == editToken_4.getId() && (TextUtils.isEmpty(editToken_4.getText())) || editToken_4.getSelectionStart()==0) {

                editToken_3.setSelection(editToken_3.getText().length());
                editToken_3.requestFocus();

            }

            if (v.getId() == editToken_3.getId() && (TextUtils.isEmpty(editToken_3.getText())) || editToken_3.getSelectionStart()==0 ) {

                editToken_2.setSelection(editToken_2.getText().length());
                editToken_2.requestFocus();

            }

            if (v.getId() == editToken_2.getId() && (TextUtils.isEmpty(editToken_2.getText())) || editToken_2.getSelectionStart()==0){

                editToken_1.setSelection(editToken_1.getText().length());
                editToken_1.requestFocus();
            }
            return true;   //add this
        }

        return false;
    }
};

我这样做了,但cursur仍然没有在seond if条件和
if(keyCode==KeyEvent.keyCode_DEL)内移动backwordprint日志
要查看事件是否被调用,我应用了日志,事件没有调用code正在处理棉花糖和棒棒糖,它不处理jellybean和Kitkat。请看:我做了,但cursur仍然没有在seond if条件和
if(keyCode==keycevent.keyCode\u DEL)内移动backwordprint日志
若要查看事件是否被调用,i applicated log,event is not calling code正在处理棉花糖和棒棒糖,它不处理jellybean和Kitkat请参见:
     @Override
    public boolean onKey(View v, int keyCode, KeyEvent event) {

        if (keyCode == KeyEvent.KEYCODE_DEL) {

            if (v.getId() == editToken_4.getId() && (TextUtils.isEmpty(editToken_4.getText())) || editToken_4.getSelectionStart()==0) {

                editToken_3.setSelection(editToken_3.getText().length());
                editToken_3.requestFocus();

            }

            if (v.getId() == editToken_3.getId() && (TextUtils.isEmpty(editToken_3.getText())) || editToken_3.getSelectionStart()==0 ) {

                editToken_2.setSelection(editToken_2.getText().length());
                editToken_2.requestFocus();

            }

            if (v.getId() == editToken_2.getId() && (TextUtils.isEmpty(editToken_2.getText())) || editToken_2.getSelectionStart()==0){

                editToken_1.setSelection(editToken_1.getText().length());
                editToken_1.requestFocus();
            }
            return true;   //add this
        }

        return false;
    }
};