Android 3.1 で Galaxy タブを使用しています。そのレイアウト ファイル内で EditText を使用してアクティビティを開始しようとしていますが、アクティビティに入るたびにキーボードが自動的に表示されるという問題があります。EditText をクリックするとき以外は、キーボードを表示したくありません。
私は多くのソリューションを使用しましたが、それらはすべてGalaxy Tabを除く多くの Android デバイスで機能しました。
AndroidManifest.xml内のアクティビティに次を設定します
android:windowSoftInputMode="stateHidden"
または、アクティビティのコードのonCreateで:
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
または、onResume()に以下を追加してみてください
try {
InputMethodManager inputManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.hideSoftInputFromWindow(this.getCurrentFocus().getWindowToken(), 0);
}
catch (Exception e) { /* do nothing */ }
詳細については、こちらをお読みください
あなたのAndroidManifest.xml
:
<activity android:name="com.your.package.ActivityName"
android:windowSoftInputMode="stateHidden" />
の詳細についてwindowSoftInputMode
は、こちらを参照してください。
この設定は、ユーザーが新しいアクティビティに入ると、ソフト キーボードを非表示にします (EditText コントロールがフォーカスを得た場合でも)。ソフト キーボードは、ユーザーが編集ボックス コントロールをクリックした場合にのみ表示されます。