2016-09-11 11 views
0

私はアプリケーションを構築しており、ソフト入力キーボードでどのキーが押されたのかを判断する必要があります。私は以下の機能を持っています。ログはEnterキーとBackキーが押されたときにのみ起動します - 64と67.キーボードの他のキーが押されたときは何も起こりません。ソフト入力キーボードキーダウンキャプチャが動作しない

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 

    String f=Integer.toString(keyCode); 
    Log.d(TAG, f); 
    return true; 

} 

答えて

0

現在入力されているテキストを取得するためにTextWatcherを使用します。

あなたが setOnKeyListener()メソッドを追加する必要が
edittext.addTextChangedListener(new TextWatcher() { 
     @Override 
     public void onTextChanged(CharSequence s, int start, int before, int count) { 

      // TODO Auto-generated method stub 
     } 

     @Override 
     public void beforeTextChanged(CharSequence s, int start, int count, int after) { 

      // TODO Auto-generated method stub 
     } 

     @Override 
     public void afterTextChanged(Editable s) { 

      // TODO Auto-generated method stub 
     } 
    }); 
0

edittext.setOnKeyListener(new View.OnKeyListener() { 
     @Override 
     public boolean onKey(View v, int keyCode, KeyEvent event) { 

      if (event.getAction() == KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_ENTER){ 
       Toast.makeText(getApplicationContext(), "Clicked ENTER or END button", Toast.LENGTH_SHORT).show(); 
      } 
      return false; 
     } 
    }); 

オフもちろん、これは、キーを入力するための一例です。

関連する問題