0
我提到這個link來聽取android EditText完成鍵入事件。但從這個參考我只得到輸入鍵按下的事件。當用戶在完成打字之後關閉鍵盤時以及當用戶按下下一個時,我需要收聽一個事件。有什麼方法可以在android中聽取這些事件。如何在安裝完鍵盤後收聽Android鍵盤關閉事件在EditText中完成?
我提到這個link來聽取android EditText完成鍵入事件。但從這個參考我只得到輸入鍵按下的事件。當用戶在完成打字之後關閉鍵盤時以及當用戶按下下一個時,我需要收聽一個事件。有什麼方法可以在android中聽取這些事件。如何在安裝完鍵盤後收聽Android鍵盤關閉事件在EditText中完成?
我終於得到了下一步/完成/搜索答案,並進入這樣
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if(event !=null){
if(actionId == EditorInfo.IME_ACTION_SEARCH ||
actionId == EditorInfo.IME_ACTION_NEXT ||
actionId == EditorInfo.IME_ACTION_DONE ||
event.getAction() == KeyEvent.ACTION_DOWN &&
event.getKeyCode() == KeyEvent.KEYCODE_ENTER){
if (!event.isShiftPressed()) {
Log.e("", "FINISHED Typing : "+v.getText().toString());
return true; // consume.
}
}
}
else{
if(actionId == EditorInfo.IME_ACTION_SEARCH || actionId == EditorInfo.IME_ACTION_NEXT || actionId == EditorInfo.IME_ACTION_DONE){
Log.e("", "Next/Done/Search Pressed");
return true;
}
}
return false;
}
還按鍵爲鍵盤解僱我定製了EDITTEXT和onKeyPreIme覆蓋的方法成。每當我需要edittext,我使用這個edittext。這解決了我的問題。
@Override
public boolean onKeyPreIme(int keyCode, KeyEvent event) {
if (event.getAction()!=KeyEvent.ACTION_DOWN){
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
dispatchKeyEvent(event);
//do whatever you want to do here, when keypad dismiss on EditText
return false;
}
}
return super.onKeyPreIme(keyCode, event);
}
@andEndine謝謝你的幫助! – chritaso