有一個(gè)Activity,里面有個(gè)EditText下面是個(gè)ListView,每次運(yùn)行這個(gè)Activity,輸入法都自動(dòng)跳出來(lái),太惱火了。因?yàn)檫@個(gè)ListView是顯示數(shù)據(jù)庫(kù)的,一開(kāi)始懷疑數(shù)據(jù)庫(kù)游標(biāo)Cursor的問(wèn)題,看來(lái)懷疑錯(cuò)了,就是EditText和ListView同時(shí)出現(xiàn),導(dǎo)致輸入法自動(dòng)跳出來(lái)。事實(shí)上我們需要的是,點(diǎn)擊EditText后,輸入法才出來(lái)。解決方法有:
方法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是需要禁止自動(dòng)彈出軟鍵盤的EditText對(duì)象。
方法3:
在AndroidManifest.xml中,Activity的屬性添加android:windowSoftInputMode=”stateHidden”
或 android:windowSoftInputMode="adjustPan|stateHidden"
我自己用的第一種,很方便奏效!
新聞熱點(diǎn)
疑難解答
圖片精選