有一個Activity,里面有個EditText下面是個ListView,每次運行這個Activity,輸入法都自動跳出來,太惱火了。因為這個ListView是顯示數據庫的,一開始懷疑數據庫游標Cursor的問題,看來懷疑錯了,就是EditText和ListView同時出現,導致輸入法自動跳出來。事實上我們需要的是,點擊EditText后,輸入法才出來。解決方法有:
方法1:
在onCreate()里,this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
方法2:
InputMethodManager m = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
m.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
m.hideSoftInputFromInputMethod(arg0,arg1);
或者:
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(myEdit.getWindowToken(), 0); //myEdit是需要禁止自動彈出軟鍵盤的EditText對象。
方法3:
在AndroidManifest.xml中,Activity的屬性添加android:windowSoftInputMode=”stateHidden”
或 android:windowSoftInputMode="adjustPan|stateHidden"
我自己用的第一種,很方便奏效!
新聞熱點
疑難解答
圖片精選