タブの1つがチャットタイプの機能であるタブウィジェットがあります。チャットデータを一定間隔で更新したい(チャットタブがアクティブかどうかによって異なります)。
最善のアプローチは、メインのTabActivityクラスでAsyncTaskを使用することであるように思われました。これにより、AsyncTaskの実行中にバックグラウンドでチャットアクティビティが破棄される問題を回避できます。アクティビティが破棄および再作成されないようにしたかったので、AsyncTaskが実際のアクティブなアクティビティのデータを変更できなくなりました。
ただし、AsyncTaskがTabActivityアクティビティに含まnotifyDataSetChanged()
れているため、メソッドからチャットのListAdapterを直接呼び出す方法はありonPostExecute()
ません。TabHost / TabActivityから特定のタブの現在のアクティビティへの参照を取得する方法はありますか?
または、代わりに、チャットアクティビティがTabActivityアクティビティの子アクティビティとして破棄されることはなく(少なくともTabActivityがアクティブな間は破棄されない)、AsyncTaskをチャットアクティビティに配置するだけでよいと想定できますか?