需要打開連接到一個視圖的鍵盤並將關鍵事件委託給edittext,但是當焦點集中時,不需要將鍵盤附加到EditText。我試着用這個代碼:如何禁用EditText專注時顯示的鍵盤?
清單中:
<activity android:windowSoftInputMode="adjustPan|stateAlwaysHidden" />
代碼:
InputMethodManager inputMethodManager = (InputMethodManager) rootView.getContext()
.getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.showSoftInput(view, InputMethodManager.SHOW_FORCED);
view.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View view, int keycode, KeyEvent keyEvent) {
switch (keyEvent.getAction()){
case KeyEvent.ACTION_UP:
editText.onKeyUp(keycode, keyEvent);
break;
case KeyEvent.ACTION_DOWN:
editText.onKeyDown(keycode, keyEvent);
break;
}
return true;
}
});
一切是怎麼回事OK(鍵盤顯示),但是當EditText上獲得焦點 - 所有邏輯被破壞(在edittext上重新顯示keybord);
editext.requestFocus();
重點在編輯文本需要處理選擇和其他事情取決於焦點。
任何幫助對我很重要,謝謝;
UPDATE: 沒有必要隱藏鍵盤,所需步驟:
- 鍵盤打開並附加一些視圖
- 編輯文本獲得焦點,但鍵盤不atached它