2013-06-28 81 views
20

我有一個EditText的自定義對話框。 當對話框出現時,焦點位於EditText上,並顯示軟鍵盤。 如何避免這種情況? 我想:如何隱藏對話框顯示的鍵盤?

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); 

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 
imm.hideSoftInputFromWindow(edittext.getWindowToken(), 0); 

但他們沒有爲我工作。我認爲這些對話不起作用。

+0

看到我的答案,如果u發現它有用,請讓它接受,如果呃與對話相關的大問題可以幫助。 – TheFlash

回答

45

你有沒有試過這個?我測試過了。它正在工作。

變化

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); 

dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); 
+6

謝謝,夥計!它像一個魅力! – Salvatore

+1

謝謝,它也適用於我像MayCustomDialog.this.getWindow()。setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); –

8

轉到XML佈局和到達主佈局,並把下面

android:focusable="true" 
android:focusableInTouchMode="true" 
+0

坦克曼..你救了我的一天。 – Neo

+1

最佳解決方案,爲我工作。 – TharakaNirmana