2013-06-28 18 views
20

Mam niestandardowe okno dialogowe z elementem EditText. Po wyświetleniu okna dialogowego fokus znajduje się na EditText, a na ekranie pojawia się klawiatura ekranowa. Jak tego uniknąć? Próbowałem:Jak ukryć klawiaturę w oknie dialogowym?

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

i

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

ale one nie działają na mnie. Myślę, że te nie działają dla dialogów.

+0

zobaczyć moją odpowiedź i jeśli u znaleźć Przydaj się, proszę, zaakceptuj to i jeśli uh ave problem związany z dialogiem mogę pomóc. – TheFlash

Odpowiedz

45

Próbowałem tego? Przetestowałem to. Działa.

zmiana

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

Aby

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

Dzięki, stary! To działa jak urok! – Salvatore

+1

Dzięki, działa również dla mnie, podobnie jak MayCustomDialog.this.getWindow() .setSoftInputMode (WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); –

8

Go do układu xml i dotrzeć do głównego układu i umieścić następujące

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

Niż człowiek .. oszczędzasz mój dzień. – Neo

+1

najlepsze rozwiązanie, pracował dla mnie. – TharakaNirmana