应用程序在屏幕旋转后显示主屏幕

时间:2013-08-30 13:07:13

标签: android android-orientation

我几天以来一直在研究一个andoid应用程序。 我的MainActivity中有两个布局,第一个显示SearchBox,第二个显示结果。 当应用显示结果并更改应用方向时,应用会返回第一个屏幕。 我可能不清楚我的英语,但看到这些简单的步骤:

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

我在互联网上搜索过它,但我无法找到任何内容。任何帮助都会得到赞赏以解决这个问题。

3 个答案:

答案 0 :(得分:1)

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

阅读以下答案

Restore values on screen rotation

答案 1 :(得分:0)

在屏幕方向更改活动重新启动所以如果你没有保存它的状态然后它可以由于像空指针异常的错误而破坏有时android没有显示任何forceclose的日志来保存你的活动状态看看这个:Configuration Changes

答案 2 :(得分: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
    {

    }
}