Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 应用程序在屏幕旋转后显示主屏幕_Android_Android Orientation - Fatal编程技术网

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

Android 应用程序在屏幕旋转后显示主屏幕,android,android-orientation,Android,Android Orientation,几天以来,我一直在开发andoid应用程序。 我的MainActivity中有两个布局,第一个显示搜索框,第二个显示结果。 当应用程序显示结果并更改应用程序方向时,应用程序将返回到第一个屏幕。 我的英语可能不太清楚,但可以看到以下简单步骤: Open App -> 1st screen(MainActivity) -> 2nd Screen(MainActivity) -> Now If I rotate the screen It goes back to 1st scre

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

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

我在网上搜索了一下,但什么也找不到。如果您有任何帮助,我们将不胜感激。

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

阅读下面的答案


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

阅读下面的答案


屏幕上方向更改活动重新启动,因此,如果您没有保存活动状态,那么它可能会由于错误(如空指针异常)而被破坏,有时android不会显示任何forceclose日志以保存活动状态。请查看以下内容:

屏幕上方向更改活动重新启动如果不保存它的状态,那么它可能会由于诸如空指针异常之类的错误而销毁,有时android不会显示任何forceclose日志来保存您的活动状态。请查看以下内容:

当您更改设备的方向时,应用程序将被销毁,然后重新启动。为了让应用程序记住用户所在的位置以及其他事项,您需要在onCreate中实现代码以读取保存的状态,并且还需要在关闭应用程序之前保存状态,这可以在许多地方完成,具体位置取决于您的需要,但可以是onPause()、onDestroy或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
    {

    }
}

当您更改设备的方向时,应用程序将被销毁,然后重新启动。为了让应用程序记住用户所在的位置以及其他事项,您需要在onCreate中实现代码以读取保存的状态,并且还需要在关闭应用程序之前保存状态,这可以在许多地方完成,具体位置取决于您的需要,但可以是onPause()、onDestroy或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
    {

    }
}

检查正在旋转屏幕的第二个屏幕上的Post代码。在清单中为您的用户添加
android:configChanges=“keyboardHidden | orientation”
MainActivity@CRUSADER:我已经做了,但什么也没发生!:)检查正在旋转屏幕的第二个屏幕上的Post代码。在清单中为您的用户添加
android:configChanges=“keyboardHidden | orientation”
MainActivity@CRUSADER:我已经做了,但什么也没发生!:)