Android Dialog里的EdiText輸入法的選擇
正常情況下,默認的EditText多數(shù)會自動喚醒輸入法,但是今天群里有人問,為什么Dialog里面的EditText卻不能如此。大致分析了以下,Dialog是自己的單獨的Window,里面setContentView之后的行為也許跟Activity的window有差異,或者是生命周期的原因,導(dǎo)致在Dialog的EditText雖然確實請求了喚醒輸入法,只是輸入法沒有正確顯示吧了。暫且不繼續(xù)往下分析了。既然是由于請求顯示輸入法的問題,我門的就在正確的時機正確的請求一次輸入即可。 直接上代碼,這只是一個思路,代碼如何組織,個人自由發(fā)揮。
Dialog dialog = new Dialog(this); final EditText view = new EditText(this); dialog.setContentView(view); dialog.show(); // view.post(new Runnable() { @Override public void run() { InputMethodManager im = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE); im.showSoftInput(view, 0); } });`感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
新聞熱點
疑難解答
圖片精選