2010-12-05 15 views
0

ソフトキーボードからonKeyイベントを捕捉しようとしています。ただし、ほんの少数のキーがonKeyイベントを発生させます(Delete、backなど)。通常の文字ではありません。なぜ誰が知っている?NexusのソフトキーボードでAndroidのonKeyが起動されない

+0

TextViewでこれを実行していますか?カーソルがTextViewにある場合、イベントはトリガーされません。背中、家などは特殊なケースです。 – glr

+0

私は2番目のそのギラ、EditTextを使用している場合は、TextWatcherインターフェイスでロジックを実装してみてください。 – Shardul

+0

ありがとうございます。 TextWatcherのアプローチを試みます – oriharel

答えて

2

EditTextビューから通常のキーストロークをキャプチャしようとしている場合は、次の方法を使用してキー押下をリッスンする必要があります。 onTextChangedメソッドは、各キーを押すごとに起動され、必要な処理を実行できます。

mEditText.addTextChangedListener(new TextWatcher(){ 
    @Override 
    public void afterTextChanged(Editable editable){    
    } 
    @Override 
    public void beforeTextChanged(CharSequence text, int start, int count, int after){    
    } 
    @Override 
    public void onTextChanged(CharSequence arg0, int start, int before, int count) { 
     //doStuff    
    } 
}); 
+0

ありがとうございます。 TextWatcherのアプローチを試みます – oriharel

+0

TextWatcherでEditText#setTextメソッドを起動する方法がありません。これは、stackoverflowエラーを引き起こします。 –

関連する問題