回答

3

我終於得到了下一步/完成/搜索答案,並進入這樣

@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); 
} 
+1

@andEndine謝謝你的幫助! – chritaso