0

アプリで Framgents を使用しており、タブレットで横向き (左右) と縦向き (上下) の両方にデュアル ペイン レイアウトを使用しています。

左の選択ペインにフラグメントをロードするアクティビティがあり、スピナーでいくつかの基準を選択して検索を実行できます。右側のフラグメントには、ListView での検索結果が表示されています。

Manifest.xml でこのアクティビティを使用するandroid:configChanges="orientation"と、検索結果が保存されますが、本来あるべき左右ではなく、ランドスケープ モードで両方のペイン レイアウトが上下に表示されます。また、使用しない場合android:configChanges="orientation"、両方のペイン レイアウトが正しい順序で表示されます (横向きモードでは左右) が、検索結果が表示されず、アクティビティが再開されます。

どうすれば解決できますか?何か案が?

本当にありがとう。

4

1 に答える 1

0

onSaveInstanceState() と onRestoreInstanceState() を使用する必要があります

レイアウトが正しく見えるようにビューを再作成する必要がありますが、再作成するとデータが失われます。このデータは、前述の方法を使用するか、共有設定を使用して保存する必要があります (アプリケーションの終了後もデータをより長く保存するため)。

android:configChanges="orientation" は使用しないでください。これにより、レイアウトが再作成されなくなり、自分で処理する必要があります。

詳細については、ドキュメントを参照してください: http://developer.android.com/training/basics/activity-lifecycle/recreating.html http://developer.android.com/reference/android/content/SharedPreferences.html

于 2014-11-14T15:02:41.050 に答える