私はアンドロイドになりました。そして、私はサーバーからデータをロードして、このデータをリストに取り込むはずのアプリケーションを開発する際に問題があります。私はそうするためにasyncTaskを使用し、データをロードしている間に画面の向きを変更するためにonRetainNonConfigurationInstance()関数を使用し、うまくいきました。オリエンテーションが変更されたときにアンドロイドのアクティビティのロケールとasyncTaskを処理する方法
問題は、自分のアクティビティのロケールの変更を処理したいときに開始されました。私はオリエンテーションにロケールの変更を変更したときに私が読んだように、これらの: -
How do I save an Android application's state?
と Activity restart on rotation Android
私はだから私は使用していませんでした肖像画の風景から変更したレイアウトを作りたいです
アンドロイド:configChanges = "ロケール|オリエンテーション"
まだ解決できません。私は私が向きを変えたときに、システムが、私は
Locale locale = new Locale("ar");
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());
を使用して、それを設定しようとした場合でも、私は、ユーザーの待機を行いますどの活動を終了し、再度開く必要がありますので、独自の言語を変更することを考えますさらに、ユーザーが向きを変更しようとすると、アプリケーションがクラッシュする可能性があります。
私はonRetainNonConfigurationInstance()を使用するかもしれませんが、私はこれらのことをどのように処理する必要があるのか分かりません。だから、どんな助けもありがとう。
私はそうしようとしました。しかし、私はonRestoreInstanceState(Bundle)で自分自身でロケールを設定した後で、アクティビティを終了してもう一度やり直すと、サーバーからデータを再度ロードするようになります。私は正しい? – FAFI
おそらく私はあなたの質問を正しく得ていませんでした。したがって、設定変更よりもサーバーからロードしたデータも保持したいのですか? [進行状況ダイアログとオリエンテーションの変更を処理する] http://blog.doityourselfandroid.com/2010/11/14/handling-progress-dialogs-and-screen-orientation-changes/をご覧ください。溶液。 –
私はこの方法で方向の変更を処理していました。しかし、今私はロケールの変更を扱う以外にこれを処理しなければならず、これを解決するためにonRetainNonConfigurationInstance()を使用する方法を理解できません。 onRetainNonConfigurationInstance()を使用してasyncTaskとロケールを保存するにはどうすればよいですか? – FAFI