2013-06-28 2 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

увидеть мой ответ, и если и найти это полезно, пожалуйста, примите его, и если uh ave проблема, связанная с диалогом i, может помочь. – 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

Thanx man .. вы экономите мой день. – Neo

+1

лучшее решение, работало для меня. – TharakaNirmana