2017-03-29 6 views
0

내가 말한다 상태를 확인하기 위해 노력하고있어 :Android 프로젝트 용 키보드 코드를 가져 오는 방법은 무엇입니까?

로그 창에서
keyCode = event.getKeyCode(); 
    Log.e("key",keyCode+""); 
    if (keyCode == KeyEvent.KEYCODE_DEL && event.getAction() == KeyEvent.ACTION_DOWN) 
    //logic 

에서, '키 코드'67 KEYCODE_DEL의 값을 제외하고, 모든 키보드 코드를 점점이 arent을하지만 경우에만이 작업을하고있는 글고 치기 비었다! 키가 keybaord에 누를 때마다

editTextPrincipal.setOnKeyListener(new View.OnKeyListener() { 
     @Override 
     public boolean onKey(View v, int keyCode, KeyEvent event) { 
      keyCode = event.getKeyCode(); 
      Log.e("key",keyCode+""); 
      if (keyCode == KeyEvent.KEYCODE_DEL && event.getAction() == KeyEvent.ACTION_DOWN){ 
       usuarioDeletouCaracter = true; 
       return usuarioDeletouCaracter; 
      } 
      return usuarioDeletouCaracter; 

     } 
    }); 

    editTextPrincipal.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      if (!usuarioDeletouCaracter){ 
       editTextPrincipal.addTextChangedListener(textWatcher); 
      }else{ 
       Toast.makeText(getApplicationContext(), "O usuario apagou", Toast.LENGTH_SHORT).show(); 
      } 
     } 
    }); 

는 로그 창에 키 코드가해야 그녀의 값을 반환하지만이 \

답변

0

소프트 키보드는 거의 키 코드를 생성 결코 = 발생하지 않습니다. TextWatcher를 사용하거나 InputConnection 객체를 재정의해야합니다.

+0

을 시도하지만 난 뭔가를 얻을 didnt는 : 나는 모토입니다 내 안드로이드 휴대 전화에서 제공하는 기본 키보드를 사용하고 있습니다 원래 ROM이있는 G3. –

+0

상관 없어요. 대부분 키 코드를 보내지 않습니다. 특정 모델에 대한 기본 키보드가 무엇인지 전혀 알지 못하지만 Google의 LatinIME (가장 가능성있는 답변)은 그렇지 않다는 것을 알 수 있습니다. –

0

당신이 전에 말했듯이 내가 이미 읽은이

editTextPrincipal.setOnKeyListener(new View.OnKeyListener() { 
@Override 
public boolean onKeyDown(View v, int keyCode, KeyEvent event) { 
Log.e("key",keyCode); 
if (keyCode == KeyEvent.KEYCODE_DEL){ 
       usuarioDeletouCaracter = true; 
       return usuarioDeletouCaracter; 
      } 
    return usuarioDeletouCaracter; 
} 
}); 

참조 https://developer.android.com/training/keyboard-input/commands.html

+0

이 작동하지 않습니다. 나는 인스턴스 내에서 onKeyDown 함수를 클래스 setOnKeyListener에 호출 할 수 없다. –