1

これを使用できることを知っています: android:configChanges="orientation" 向きの変更での再描画を排除します。私のアプリにはありませんが。それを機能させるためにオーバーライドする必要があるメソッドがあるかもしれないことを読みました。しかし、それはやり過ぎかもしれないと思います。

画面を縦向きから横向き (またはその逆) に回転させたときに発生したくない問題が 2 つだけあります。

  1. ユーザーが EditText に触れると、キーボードがポップアップします。向きを変えると、自動的に非表示になります。ソフトキーボードはずっと持ち歩きたい。

  2. MySQL データベースから入力されたデータをロードする ListView があります。これは AsynTask を介して行われます。向きを切り替えるときに、このタスクが呼び出されないようにします。

これら 2 つの問題を特定できますか、それとも最初のオプション (configChanges) が答えですか?

注: これらの 2 つはリスト アクティビティです。しかし、大きなものは、Viewpager を使用した FragmentActivity と、Fragment / ListFRagment (タブ付き) 内部クラスです。

4

1 に答える 1

1

向きが変わると、Activity は破棄され、再作成されます。を使用する場合にオーバーライドするメソッドconfigChangesは ですonConfigurationChanged

キーボードの質問については、その状態を追跡し、Bundle渡された を介して復元する必要があるように思えますActivity.onCreate

2 番目の質問についてはonSavedInstanceState == nullAsyncTask. Bundleにデータを保存する必要がありますonPause

于 2012-08-11T19:59:27.770 に答える