android中的方向变化

android中的方向变化,android,android-orientation,Android,Android Orientation,我正在使用getLastNonConfigurationInstance()保存对象,同时在活动中更改方向。现在它被弃用了。最好的替代方法是什么?文档中说“使用片段”。但是我需要使用活动。要保存状态,请使用onSaveInstanceState(Bundle savedInstanceState)。您可以在onCreate或onRestoreInstanceState(Bundle savedInstanceState)中还原保存的状态 基本上是一种存储键值对“映射”的方法, 它将被传递到onC

我正在使用getLastNonConfigurationInstance()保存对象,同时在活动中更改方向。现在它被弃用了。最好的替代方法是什么?文档中说“使用片段”。但是我需要使用活动。

要保存状态,请使用
onSaveInstanceState(Bundle savedInstanceState)
。您可以在
onCreate
onRestoreInstanceState(Bundle savedInstanceState)
中还原保存的状态

基本上是一种存储键值对“映射”的方法, 它将被传递到onCreate和onRestoreInstanceState,其中 您可以提取如下值:

    @Override
    public void onRestoreInstanceState(Bundle savedInstanceState) {
      super.onRestoreInstanceState(savedInstanceState);
      // Restore UI state from the savedInstanceState.
      // This bundle has also been passed to onCreate.
      boolean myBoolean = savedInstanceState.getBoolean("MyBoolean");
      double myDouble = savedInstanceState.getDouble("myDouble");
      int myInt = savedInstanceState.getInt("MyInt");
      String myString = savedInstanceState.getString("MyString");
    }
    @Override
    public void onRestoreInstanceState(Bundle savedInstanceState) {
      super.onRestoreInstanceState(savedInstanceState);
      // Restore UI state from the savedInstanceState.
      // This bundle has also been passed to onCreate.
      boolean myBoolean = savedInstanceState.getBoolean("MyBoolean");
      double myDouble = savedInstanceState.getDouble("myDouble");
      int myInt = savedInstanceState.getInt("MyInt");
      String myString = savedInstanceState.getString("MyString");
    }