之前在實作有關EditText的頁面時,總覺得要強制顯示鍵盤,很困難,叫它出現不出現,真難控制。
後來才瞭解,原來畫面還沒準備好,就去呼叫強制顯示鍵盤,所以Android根本不理我。
所以必須先讓他等個0.1秒,這樣就可以成功呼叫啦。
final ImputMethodManager imm =
(InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
editText.postDelayed(new Runnable(){
@Override
public void run(){
editText.requestFocus();
imm.showSoftInput(editText, 0);
}
}, 100);
如果要隱藏鍵盤就比較單純了。
ImputMethodManager imm =
(InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
IBinder ib = Activity.this.getCurrentFocus().getWindowToken();
imm.hideSoftInputFromWindow(ib, InputMethodManager.HIDE_NOT_ALWAYS);
沒有留言:
張貼留言