2012-04-20 22 views
5

OnCreate'da kod içerisine dinamik olarak içerik eklediğim bir TableLayout var. Etkinlik oluşturduktan sonra, dinamik olarak oluşturulmuş EditTexts'lerden birine odaklanır ve klavyeyi görüntüler. Kullanıcının EditTexts'ten birini özellikle basana kadar klavyenin görüntülenmesini istemiyorum. Denedim: Ancak, klavye hala görüntüleniyor ve CurrentFocus null değerini döndürüyor. Bu yüzden özellikle başka görüşe odağı işaret ve sonra gibi yukarıdaki gerçekleştirmeye çalıştığınızda:OnCreate içinde Yumuşak Girişi Gizle

InputMethodManager input = (InputMethodManager) GetSystemService(InputMethodService); 
title.FindFocus(); 
input.HideSoftInputFromWindow(CurrentFocus.WindowToken, 0); 

CurrentFocus hala null ve klavye hala görüntüler. başlık, kodda bir örneğim olan bir TextView. Sadece bir TextView'e odaklama yapmam ya da eksik olduğum başka bir şey var mı?

+1

eklentiyi çalıştı yaptılar 'android : windowSoftInputMode = "stateUn manifestodaki faaliyetinize "" değişti? – Selvin

cevap

22
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN); 
+0

Buna baktım, ancak MonoDroid'in SoftInputStateHidden'i yok gibi görünüyor. Sadece SoftInputStateChanged hiçbir şey yapmaz. – jmease

+0

Evet, SoftInput.StateHidden http://docs.mono-android.net/?link=T:Android.Views.SoftInput Window.SetSoftInputMode (SoftInput.StateHidden); –

+0

"Bağımsız değişken türü 'Android.Views.SoftInput', parametre türü tamsayıya atanamaz" – jmease

6

sizin AndroidManifest.xml dosyaya

  1. Git Çok Kolay etkinlik olarak
  2. ekleyin: android:windowSoftInputMode="stateHidden"

Örneğin:

<activity 
     android:name=".package.example.MyActivity" 
      android:windowSoftInputMode="stateHidden"/> 
+1

Bu doğru uygulama olduğu için kabul edilen cevap olmalı. –

İlgili konular