2013-06-28 25 views
20

İçinde EditText ile özel bir iletişim var. İletişim kutusu belirdiğinde, odak EditText üzerindedir ve yazılım klavyesi gösterilir. Bu nasıl önlenir? Denedim:İletişim kutusundaki klavye nasıl gizlenir?

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

ve

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

ama benim için çalışmaz. Bence bunlar diyalog için çalışmıyor.

+0

cevabım bkz koymak ve yararlıdır lütfen kabul et ve eğer uh diyaloğa ilişkin problemim yardımcı olabilir. – TheFlash

cevap

45

Bunu denediniz mi? Test ettim. Çalışıyor.

değişiklik

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

xml düzeni

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

Teşekkürler dostum! Bir çekicilik gibi çalışır! – Salvatore

+1

Teşekkürler, Aynı zamanda benim için MayCustomDialog.this.getWindow() gibi çalışıyor. SetSoftInputMode (WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); –

8

Git ve ana düzenini ulaşmak ve u bulursanız aşağıdaki

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

Thanx man .. günümü kurtardın. – Neo

+1

en iyi çözüm, benim için çalıştı. – TharakaNirmana

İlgili konular