1
私のアプリケーションでは非同期タスクが多数使用されています。私はonPostExecuteでUiオペレーションを実行します。 私は一般に、非同期タスクが実行されている間にスピナーを表示します。終了したら、スピナーを削除してUiを変更するか、新しいフラグメントを起動します。Android。フラグメントが一時停止しているときに、onPostExecuteでuiオペレーションを実行します。
非同期タスクが終了したときにアプリケーションがフォアグラウンドにないときに問題が発生しています。私はフラグメントが一時停止しているかどうかをチェックすることによってエラーを処理しています。一時停止している場合、私はonResumeをチェックしてonPostExecuteコードを実行するboolean isPausedを持っていますが、
onPostExecute で
if (!isPaused) {
getFragmentManager().popBackStackImmediate();
} else {
wasPaused= true;
}
、その後、onResume
@Override
public void onResume() {
super.onResume();
isPaused = false;
if (wasPaused) {
getFragmentManager().popBackStack();
wasPaused= false;
}
}
私は非常に多くの非同期タスクを持っているので、これはちょっと面倒で多くの作業があるようです。 これを達成するためのより簡単で簡単な方法はありますか? – GudniPall
あなたの正確な意図は何か分かりませんが、アクティビティがバックグラウンドのときにUIを更新する用途はありません。 UIはユーザーが見るときにのみ重要なので、onResume()は適切な場所です。 – Nithin
ありがとうございました:) – GudniPall