2013-08-30 19 views
7

DialogFragmentListView (tüm müşteriyi listelemek için) ve EditText (listeden arama) kullanıyorum, iyi çalışıyor. Ancak, iletişim kutusundan her ne zaman gösteriliyorsa, klavye her zaman gösterilir ve kullanıcının istifa etmesi gerekir. İletişim parçasını gösterirken bunu ilk defa saklamanın bir yolu var mı? Daha sonra, kullanıcı metni düzenle'yi tıkladığında, klavye görünmelidir.Tablette DialogFragment'i gösterirken klavyeyi gizler misiniz?

benim XML android:focusable="false" ayarı denedim ama her zaman da görünmüyor EditText üzerine tıklamadan sonra klavyeyi gizler.

android:windowSoftInputMode="stateHidden" 

veya

sizin DialogFragment onCreateView yılında
android:windowSoftInputMode="stateUnchanged" 
+0

Bu [post] 'a bir göz atın (http://stackoverflow.com/questions/1555109/stop-edittext-from-gaining-focus-at-activity-startup) –

+0

http://stackoverflow.com/questions/1555109/dur-edittext-from-kazanç-odak-at-aktivite-başlangıç ​​ – RVG

+0

teşekkürler arkadaşlar kontrol edecek ve @Ganesh – krishh

cevap

16

() aşağıdakileri ekleyin Bu senin sorunun çözmek gerekir

+0

Awesome bildirin. Sadece faaliyetlerle uğraşan tüm diğer mesajları görmüştüm ve parçalarla uğraşırken nereye koyduğum önemli değil .. getDialog() vs getActivity() benim için önemliydi. Teşekkürler! – James

+0

Bu iletişim, Android 4.4'te bir "DataPickerFragment" olduğunda işe yaramaz ve gizli klavye yöntemini 'onResume()' yöntemine koyup çalışır. Her neyse, teşekkürler. – DysaniazzZ

1

yukarıdaki gibi

Sonra aynı alma android:focusableInTouchMode="true" ayar denedik ama:

public View onCreateView(LayoutInflater inflater, ViewGroup container, 
        Bundle savedInstanceState) 
{ 
View view = super.onCreateView(inflater, container, savedInstanceState); 
//to hide keyboard when showing dialog fragment 
getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN); 
return view; 
} 
İlgili konular