2011-09-07 19 views
7

Kullanıcıların içinde yazdığı bir etkinliğim var ve ardından tamam düğmesini tıklayın. Tamamlandığında, etkinlik kapanır ve eski etkinliğe geri döner, ancak yumuşak klavye hala ekranda kalır! Ben android denedim: windowSoftInputMode = "stateHidden" ve getWindow(). SetSoftInputMode (WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);Bir etkinliği bitirdikten sonra klavyeyi nasıl çıkarırım?

Fakat hiçbir şey yapmıyor.

Teşekkür

cevap

15

etkinlik OnPause tek yapmanız gereken et senin EditText bir örneği olan aşağıdaki

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

.

+0

Klavyeyi gizlemek için "Sonuç için etkinliği başlat" içindeki "Arama Etkinliğimi" uygulamak için bu yaklaşımı kullandım. Teşekkür ederim! – Roman

+2

Bir SDK tarafından açılan bir etkinliğin, etkinlik bittiğinde klavyeyi göz ardı etmediği benzer bir durum var. Etkinliğimin yarısını kapsayan bir klavyeyle bitiriyorum. Farklı bir etkinlik tarafından gösterilen klavyeyi nasıl dağıtacağınız hakkında bir fikriniz var mı? – hitmaneidos

+1

Birden çok EditText'iniz varsa ne olur? getWindowToken() 'ı hangi telefondan arayacağınızı nereden biliyorsunuz? –

İlgili konular