2011-07-09 11 views
0

構成の変更が発生したときに、AsyncTasksをどのように処理する必要がありますか。これらのタスクを通じてReSTful APIにアクセスしています。データを取得してユーザーに表示する必要がある場合は、問題が発生しています。オリエンテーションの変更のような構成変更が発生した場合、アクティビティは正しく更新されません。私は、AsyncTaskが破壊された古いアクティビティを更新していると思います。私は、AsyncTaskがまだ実行されているかどうかを追跡するアプリケーションクラスのブール値を作成する必要があるため、これを解決する方法を見つけました。その後、ローテーションでリスナーをキャンセルして新しいアクティビティで再作成し、AsyncTaskリスナーはデータをユーザーに表示します。これはうまくいきますが、それには多くのエキストラが必要で、多くの管理が必要です。非同期タスクをアクティビティの新しいインスタンスに結びつける方法はありますか?あるいは、私がやったことを抽象化する方法なので、それはあなたが持っているそれぞれの仕事のための多くの管理を必要としません。 ありがとうAndroid AsycTaskおよびorentationの変更

答えて

0

私はそれにも苦労しました。私が見つけた最良の解決策は、AndroidManifest.xmlファイルのあなたの活動にandroid:configChanges="orientation"を追加することでした。オリエンテーションが変わると、あなたの活動が破壊されて再作成されるのを止めます。

+0

はい、ただし、方向変更以外の方法でアクティビティが中断された場合は、正しく処理されません。何かが起こっている間に電話がかかってきたら、正しく動作しません。 – user807624

+0

あなたはそうです。ハーマンの答えはおそらくあなたが探しているものです。 –

関連する問題