我在一個Activity中有一個PopupWindow。 當用戶按下活動中的列表項時,窗口將彈出以獲取來自用戶的輸入。只有當用戶按下按鈕時,纔會顯示輸入鍵盤
窗口中有一些EditText。而且我還提供了一些預設一些文本的按鈕,所以當用戶按下它時,它將進入編輯文本。
當窗口第一次彈出時,我可以禁用軟鍵盤。但是當我改變edittext的焦點(從一個edittext移動到另一個edittext)時,鍵盤顯示出來了。
我只想在用戶按下彈出窗口中的「顯示鍵盤」按鈕時顯示軟鍵盤顯示 我該怎麼做?
更新時間:
public void onFocusChange(View view, boolean hasFocus) {
if (hasFocus) {
selectedEditText = (EditText)view;
String text = selectedEditText.getText().toString();
selectedEditText.setSelection(text.length());
InputMethodManager inputManager = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.hideSoftInputFromWindow(selectedEditText.getWindowToken(), 0);
}
}
我想上面的代碼,但它仍然顯示。
我更新了我的代碼,但它仍然顯示焦點鍵盤改變了,代碼是做錯了什麼? – Hanon 2012-04-03 04:16:04
@Hanon ..代碼看起來不錯..嘗試調試,看看它是否被調用太.. – ngesh 2012-04-03 04:22:37
我記錄了結果在if體內,身體部分已執行。我在最後添加了測試inputManager.isActive(),但它總是返回true – Hanon 2012-04-03 06:43:20