0

我的安卓应用有问题。当我旋转手机(调用 onCreate)时,我的活动重新开始。我有 googlet 并 android:configChanges="keyboardHidden|orientation">在我的清单中尝试过,但没有运气。有人可以向我解释如何让它工作吗

编辑:我发现我需要添加这些代码

显现

<activity
    android:name="?"
    android:label="@string/?"
    android:theme="@style/?" 
    android:configChanges="orientation|screenSize">

主要活动

public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);

    // Checks the orientation of the screen
    if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
        Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show();
    } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
        Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show();
    }
}
4

2 回答 2

2

在您的活动中,您可以覆盖方法onSaveInstanceState。您可以将所需的信息保存到Bundle. onCreate方向改变后,该包将被传递给方法。如果您只想指定要使用的一个方向,请在清单文件中的应用程序选项卡或活动标签下放置:

android:screenOrientation="portrait"
于 2013-05-04T00:26:05.363 回答
1

你可以试试android:configChanges="keyboard|orientation|screenSize">。但是,请注意,在配置更改时重新启动 Activity 是正常行为。除非您有非常特殊的需求,否则您不应该使用 configChanges。

于 2013-05-03T22:01:22.780 回答