私はすべてのビューをプログラムで追加するAndroidアプリケーションに取り組んでいます。ユーザーが画面をめくったときに、入力された値を再度表示したいだけです。
Androidにこれを自動的に行わせる簡単な方法はありますか?
私のアプリケーションは完全に動的であるため、事前に定義されたレイアウトがないため、非常に困難です。
では、どうすれば画面の状態を簡単に保存できますか?
私はすべてのビューをプログラムで追加するAndroidアプリケーションに取り組んでいます。ユーザーが画面をめくったときに、入力された値を再度表示したいだけです。
Androidにこれを自動的に行わせる簡単な方法はありますか?
私のアプリケーションは完全に動的であるため、事前に定義されたレイアウトがないため、非常に困難です。
では、どうすれば画面の状態を簡単に保存できますか?
向きが変わるたびに、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">
ハインの正解の詳細な説明については、私の以前の投稿を参照してください。