4

我有一个活动(A),它启动活动(B)。

活动 A 在某些情况下使用键盘。

我想在 B 启动之前隐藏键盘(如果显示的话)。

但是,当 A 启动 B 时,键盘在 B 已经可见后的几秒钟内仍然可见。

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

如何在调用 B 之前隐藏键盘?谢谢!

4

2 回答 2

9

在Activity B的onResume()中隐藏键盘

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

在Activity 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 回答