0

いくつかのグローバル変数を保持するためにApplicationクラスを拡張したAndroidアプリを書いています。これらのグローバル変数をルートアクティビティ(ユーザーに表示される最初の画面)で初期化します。

私のアプリケーションには、選択可能なアイテムでいっぱいのListViewを含む多数のアクティビティが含まれています。ユーザーがアイテムを選択すると、新しいアクティビティがディスプレイスタックにプッシュされます。

これで、ユーザーが3番目または4番目のアクティビティに参加していて、ホームボタンを押すと、アプリが非表示になります。次に、ユーザーが(Task Killerを使用して)アプリを強制的に閉じてからアプリを再度開くと、アプリケーションコンテキストが初期化され、ユーザーが[ホーム]ボタンをクリックしたときに実行していたアクティビティでアプリが開始されます。ただし、問題は、最初のアクティビティでのみ発生するため、この時点ではグローバル変数が初期化されていないことです。

では、Applicationオブジェクトがまだ初期化されていない場合、アプリがフォアグラウンドになったときにルートアクティビティを常に表示する方法はありますか?

4

1 に答える 1

1

できることは、これらのグローバル変数が activitiesonResumeで初期化されているかどうかを確認し、そうでない場合は main を起動することActivityです。

于 2011-06-15T08:11:15.767 に答える