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



当我从状态栏中更改"使用物理键盘"时,我的活动会重新启动,反之亦然。我已经在 Web 和 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中的选定值。我还可以做些什么来防止我的活动重新启动或键盘源更改?

将其添加到清单的活动标记中

android:configChanges="orientation|keyboard|keyboardHidden"

并在没有 setContentView 的情况下使用 onConfigChanges

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

最新更新