4

アクティビティ (B) を起動するアクティビティ (A) があります。

状況によってはキーボードを使用するアクティビティ A。

B を起動する前にキーボードを非表示にしたい (表示されている場合)。

ただし、A が B を起動すると、B が既に表示された後、キーボードはわずか数秒間表示されたままになります。

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
startActivity(..); //starts Activity B

B が呼び出される前にキーボードを非表示にするにはどうすればよいですか? ありがとう!

4

2 に答える 2

9

アクティビティBのonResume()で、キーボードを非表示にします

public void onResume()
{
  super.onResume();
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
}

アクティビティAのonPause()で、キーボードを非表示にします

public void onPause()
    {
      super.onPause();
    getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
    }
于 2012-05-24T14:02:19.177 に答える
2

AndroidManifest.xmlあなたのアクティビティ android:windowSoftInputMode="stateHidden" をこのように追加してください

  <activity
      android:name="com.me.MyActivity"
      android:windowSoftInputMode="stateHidden"
   />
于 2012-05-24T14:16:29.010 に答える