在虚拟和物理键盘之间切换时,活动将重新启动

时间:2014-11-13 08:20:24

标签: android android-activity

当我从状态栏更改“使用物理键盘”时,我的活动会重新启动,反之亦然。我在网络和SA上看过很多解决方案。他们通常建议更改清单文件,如下所示;

android:configChanges="orientation|keyboard|keyboardHidden"

并将以下代码添加到活动中;

    @Override
public void onConfigurationChanged(final Configuration newConfig)
{
    // Ignore orientation change to keep activity from restarting
    super.onConfigurationChanged(newConfig);
    setContentView(R.layout.activity_main);
}

然而,没有人帮助过我。我的应用程序仍然重新启动,即重置所有EditText值并重置Spinners中的选定值。我还可以做些什么来防止我的活动重新启动键盘源更改?

1 个答案:

答案 0 :(得分:1)

将此添加到清单

中的活动代码中
android:configChanges="orientation|keyboard|keyboardHidden"

并使用onConfigChanges而不使用setContentView

@Override
public void onConfigurationChanged(final Configuration newConfig)
{
     // Ignore orientation change to keep activity from restarting
     super.onConfigurationChanged(newConfig);
}