3

私はすべてのビューをプログラムで追加するAndroidアプリケーションに取り組んでいます。ユーザーが画面をめくったときに、入力された値を再度表示したいだけです。
Androidにこれを自動的に行わせる簡単な方法はありますか?

私のアプリケーションは完全に動的であるため、事前に定義されたレイアウトがないため、非常に困難です。

では、どうすれば画面の状態を簡単に保存できますか?

4

2 に答える 2

6

向きが変わるたびに、Androidは新しいビューを作成し、古いビューを破棄します。向きが変わったときにデータを保存し、新しいビューが作成されたときに再初期化できます

アクティビティの方法を使用onConfigurationChangedして、方向の変化を検出します

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();
    }
  }

このようにAndroidManifest.XMLの適切な要素を編集して、android:configChanges

<activity android:name=".MyActivity"
          android:configChanges="orientation|keyboardHidden"
          android:label="@string/app_name">
于 2012-07-18T09:58:00.633 に答える
0

ハインの正解の詳細な説明については、私の以前の投稿を参照してください。

https://stackoverflow.com/a/57239493/5696328

于 2019-07-28T09:30:38.673 に答える