2012-04-20 10 views
5

私はOnCreateのコードに動的にコンテンツを追加するTableLayoutを持っています。アクティビティが作成されると、動的に作成されたEditTextの1つに焦点を当て、キーボードを表示します。ユーザーが特に編集テキストの1つを押すまで、キーボードを表示させたくありません。私は試しました:OnCreateのソフト入力を非表示にする

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

しかし、キーボードはまだ表示され、CurrentFocusはnullを返します。だから私は具体的に別のビューにフォーカスをポイントしようとすると、上記のように実行:

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

CurrentFocusがまだ表示され、キーボードがまだ表示されます。 titleは、すでにコード内にインスタンスがあるTextViewです。私はTextViewに焦点を当てることはできませんか、それとも何か他のものがありますか?

+1

あなたは、add 'アンドロイドを試してみました:windowSoftInputMode = "stateUnマニフェストのあなたの活動に変更しましたか? – Selvin

答えて

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

私はそれを見ましたが、MonoDroidはSoftInputStateHiddenを持っていないようです。ただ何もしないSoftInputStateChanged。 – jmease

+0

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

+0

"引数型 'Android.Views.SoftInput'はパラメータ型の整数に割り当てられません" – jmease

6

非常に簡単

  1. ゴーあなたの活動にごAndroidManifest.xmlファイル
  2. に追加します。たとえばandroid:windowSoftInputMode="stateHidden"

を:

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

これは正しい練習であるので、これは受け入れられた回答でなければなりません。 –

関連する問題