1

几天以来,我一直在开发一个安卓应用程序。我的 MainActivity 中有两个布局,第一个显示 SearchBox,第二个显示结果。当应用程序显示结果并更改应用程序方向时,应用程序将返回第一个屏幕。我的英语可能不清楚,但请参阅以下简单步骤:

 Open App -> 1st screen(MainActivity) -> 2nd Screen(MainActivity) -> Now If I rotate the screen It goes back to 1st screen.

我在互联网上搜索过它,但我找不到任何东西。任何帮助将不胜感激来解决这个问题。

4

3 回答 3

1

您应该使用 onSaveInstanceState 来保存您的状态,然后在 onCreate 中重新创建它。

阅读以下答案

恢复屏幕旋转的值

于 2013-08-30T13:12:12.927 回答
0

在屏幕方向更改活动中重新启动,因此如果您没有保存它的状态,那么它可能会由于空指针异常等错误而破坏,有时 android 不会显示任何用于保存活动状态的 forceclose 日志,请查看:配置更改

于 2013-08-30T13:16:34.350 回答
0

当您更改设备的方向时,应用程序将被破坏然后重新启动。为了让您的应用记住用户所在的位置以及其他内容,您需要在 onCreate 中实现代码以读取保存的状态,并且您还需要在应用关闭之前保存状态,这可以在很多地方完成哪里取决于您的需要,但可能是 onPause()、onDestroy 或

@Override
protected void onSaveInstanceState( Bundle outState )
{
            // save your sate here
    super.onSaveInstanceState( outState );
}

protected void onCreate( Bundle savedInstanceState )
{
    super.onCreate( savedInstanceState );

    setContentView( R.layout.layout_main );

    // if there is a saved state restore it
    if( savedInstanceState != null )
    {
    }
    else
    {

    }
}
于 2013-08-30T13:31:01.503 回答