2016-12-02 6 views
0

я хочу, а три charactors остается в TextView KEYCODE_DEL должны произойти благодаря заранее
в основной деятельности:KEYCODE_DEL согласно удаления текста charactars в текстовом

 text = (AutoCompleteTextView)findViewById(R.id.textbox); 
    ********************************************************* 
    @Override 
    public boolean onKeyUp(int keyCode,KeyEvent event) { 

     if (event.getAction() == KeyEvent.ACTION_UP 
      && keyCode == KeyEvent.KEYCODE_DEL) { 

      //some code 

      return true; 

     } 
     return super.onKeyUp(keyCode,event); 
    } 

ответ

-1

Наконец его работы с textwatcher

 text.addTextChangedListener(new TextWatcher() { 
     @Override 
     public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) { 
      if(cs.toString().length() == 0) 
       text.setText(" "); 

     } 

     @Override 
     public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) { } 

     @Override 
     public void afterTextChanged(Editable arg0) { } 

    }); 
1

Try код, приведенный ниже, если ваше требование удалить каждый знак

ediTextView.setOnKeyListener(new View.OnKeyListener() 
    { 
    @Override 
    public boolean onKey (View v,int keyCode, KeyEvent event){ 
     return backPressAction(keyCode); 
     } 
    }); 

    private boolean backPressAction(int keyCode) { 
     if (keyCode == KeyEvent.KEYCODE_DEL) { 
      int keyPressedPosition = mPasswordView.getSelectionStart(); 
      if (keyPressedPosition > 3) { 
       return false; 
      } else { 
       return true; 
      } 
     } 
     return false; 
    } 
+0

не сработал. – Pash

+0

Он работает с полем пароля, но не работает с именем пользователя .. что делать – Pash