0
passCode1 = (EditText) findViewById(R.id.passCode1);

    passCode1.setOnKeyListener(new OnKeyListener() {

        @Override
        public boolean onKey(View v, int keyCode, KeyEvent event) {
             if(keyCode == KeyEvent.KEYCODE_DEL){  
                 passCode1.requestFocus();
                 }
            return false;
        }
    });

上記のコードが oncreate メソッドにあり、ブレーク ポイントを保持してデバッグしようとすると、setOnKeyListner が 2 回呼び出されるか、初期化されます。

4

3 に答える 3

0

この方法を試してください

passCode1 = (EditText) findViewById(R.id.passCode1);

    passCode1.setOnKeyListener(new OnKeyListener() {

        @Override
        public boolean onKey(View v, int keyCode, KeyEvent event) {
             if(keyCode == KeyEvent.KEYCODE_DEL){  
                 passCode1.requestFocus();
                  return true; // UPDATE HERE
                 }
            return false;
        }
    });
于 2013-09-04T10:16:31.943 に答える