2

の中にListViewあるがありTabWidgetます。でアイテムを選択ListViewして子ListViewに移動すると、がTabWidget消えます。onPauseこれは、メソッドを呼び出すことを除いて問題ありません。したがってonRestart、親に戻ったときに呼び出されListViewます。

サーバーから更新されたデータを取得するようにonRestart設定しましたが、ユーザーが親に戻るたびにこれが発生することを望んでいませんListViewonRestartアプリがバックグラウンドで実行されて稼働したときにのみ呼び出されます。内部にあるコードを実行する必要があるかどうかを判断するためにブール変数を実装しようとしましたonRestartが、これの影響を回避する方法はないようです。

アイデア?

4

1 に答える 1

1

で子アクティビティを起動し、リロードしないようstartActivityForResultにフラグを設定できます(これは、ユーザーが詳細ページからリストビューに戻ったときに呼び出される必要があります)。inとに設定しonActivityResultたメンバー変数(たとえばmReload)があり、 trueの場合はリロードを処理します(通常の再開でリロードがトリガーされないように設定し直します)。trueonCreateonRestartfalseonActivityResultonResumemReloadfalse

mLeftPage別の方法:行のクリックリスナーのアクティビティにフラグ()を設定するだけです。再起動時にmLeftPagetrueの場合、リストをリロードせずmLeftPageにfalseに戻します。それ以外の場合は、リロードします。

于 2010-11-30T17:50:43.977 に答える