EditText に imeOptions をつけたら KeyEvent.KEYCODE_ENTER が


こちら様 を参考に、ソフトウェア・キーボードのエンター・キーが押されたら、何やら処理を走らせるようにしてたんだけど、

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

    if(event.getAction() == KeyEvent.ACTION_DOWN && keyCode == KeyEvent.KEYCODE_ENTER){
      //何やらの処理
      return true;
    }
    return false;
  }
});



xml で 下の imeOptions を付け(エンター・キーを「完了」に変更し) たらイベントを拾ってくれなくなっちゃった。

android:imeOptions ="actionDone"



色々、試してみたんだけど、全然ダメで、結局、いつもの通り、Stack Overflow さん のお世話に。

editText.setOnEditorActionListener(new OnEditorActionListener() {
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
    if ((event != null && (event.getKeyCode() == KeyEvent.KEYCODE_ENTER))
       || (actionId == EditorInfo.IME_ACTION_DONE)) {
      //何やらの処理
    }
  return false;
  }
});



なんだ、丸写しじゃないかとか言うなよぉ。



スポンサーサイト

コメント

非公開コメント