データを失うことなく画面の回転を処理する - Android 質問する

データを失うことなく画面の回転を処理する - Android 質問する

画面の回転を処理する最善の方法が何なのかを解明するのに頭がおかしくなりそうです。ここで何百もの質問と回答を読みましたが、本当に混乱しています。

アクティビティが再作成される前に myClass データを保存して、無駄な初期化を行わずにアクティビティの再描画に必要なすべての情報を保持するにはどうすればよいですか?

Parcelable よりもクリーンで優れた方法はありますか?

ランドスケープモードでレイアウトを変更したいので、回転を処理する必要があります。

public class MtgoLifecounterActivity extends Activity {

    MyClass myClass;

    // Called when the activity is first created
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        If ( ?? first run...myClass == null ? ) {
            myClass = new MyClass();
        } else {
            // do other stuff but I need myClass istance with all values.
        }
        // I want that this is called only first time. 
        // then in case of rotation of screen, i want to restore the other instance of myClass which
        // is full of data.
    }

ベストアンサー1

マニフェストのアクティビティタグには、次のことを記載する必要があります。

<activity
        android:name="com.example.ListActivity"
        android:label="@string/app_name" 
        android:configChanges="keyboardHidden|orientation">

Android 2.3(APIレベル13)以上を使用している場合は

<activity
        android:name="com.example.Activity"
        android:label="@string/app_name" 
        android:configChanges="keyboardHidden|orientation|screenSize">

それは機能するはずです。

これは、活動タグではなく応用鬼ごっこ

おすすめ記事