92

onResume()Androidで使用する例を誰か教えてもらえますか?

また、別の実行の最後にアクティビティを再開したい場合、実行されるメソッドは <code>onCreate() またはonResume()?

また、データを更新したい場合は、どのように入力すればよいですかonResume()?

4

9 に答える 9

138

再起動するアクティビティでは、そのonResume()メソッドが最初に実行されます。

この方法を使用するには、次のようにします。

@Override
public void onResume(){
    super.onResume();
    // put your code here...

}
于 2013-03-27T12:31:30.190 に答える
80

アプリを再起動すると、 が呼び出されますOnCreate()

一時停止中にアプリを続行すると、 が呼び出されますOnResume()https://developer.android.com/reference/android/app/Activity.html#ActivityLifecycleの公式ドキュメントから、アクティビティのライフサイクルの図を次に示します。

https://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle の https://developer.android.com/images/activity_lifecycle.png からの Android アクティビティ ライフサイクル

于 2013-03-27T12:26:17.763 に答える
28

理解する最善の方法は、アクティビティですべての LifeCycle メソッドをオーバーライドし、ブレークポイント (エミュレーターでチェックする場合) またはそれぞれにログを配置することです。どちらがいつ呼び出されるかがわかります。

スポイラーと同じように、onCreate()最初に呼び出されます。次に、ホーム画面に移動するか、別のアクティビティを起動してアクティビティを一時停止すると、onPause()呼び出されます。その間に OS がアクティビティを破棄すると、onDestroy()呼び出されます。アプリを再開し、アプリが既に破棄されている場合、onCreate()が呼び出されるか、そうでない場合onResume()は呼び出されます。

編集: を忘れていonStop()ましたが、 の前に呼び出されonDestroy()ます。

私が言及した演習を行うと、理解が深まります。

于 2013-03-27T12:37:35.613 に答える
9

以前の回答のほとんどは、どのように、なぜ、いつ使用するかを説明していますonResume()が、Activity.

onCreate() または onResume() が実行される他のメソッドの実行の最後にアクティビティを再開するかどうかを知りたい

答えはonCreate()、しかし、実際に再作成することを決定するときは、どれだけActivity再作成する必要があるかを自問する必要があります. それがアダプター内のデータである場合、たとえばリストの場合、 を呼び出しnotifyDataChanged()adapterを再設定することができ、adapterすべてを再描画する必要はありません。

また、viewsすべてではなく特定の更新のみが必要な場合は、更新が必要な部分を呼び出す方が効率的invalidate()ですview。これはそれらを再描画するだけでviews、アプリケーションをよりスムーズに実行できる可能性があります。これがお役に立てば幸いです。

于 2013-03-27T12:50:43.087 に答える
5

onResume()アクティビティのライフサイクル全体で呼び出されるメソッドの 1 つです。は、アクティビティがビューから隠されている場合 (たとえば、アクティビティを非表示にする新しいアクティビティを開始した場合) に呼び出されるonResume()対応するものです。非表示になっていたアクティビティが画面に戻ってきたときに呼び出されます。onPause()onResume()

アクティビティを再開するためにどのような方法が使用されているかについて質問があります。onCreate()アクティビティが最初に作成されたときに呼び出されます。実際には、ほとんどのアクティビティは、一連のonPause()andonResume()呼び出しを通じてバックグラウンドで持続します。アクティビティが実際に「再開」されるonRestart()のは、呼び出しによって最初に完全に停止されonStop()てから、元に戻された場合のみです。したがって、実際にアクティビティを停止していない場合はonStop()、 を使用する可能性が最も高くなりますonResume()

上記のリンクにある Android のドキュメントを読んで、さまざまなライフスタイル メソッド間の関係をよりよく理解してください。一般的な形式を使用することになるライフサイクルの方法に関係なく、同じです。標準メソッドをオーバーライドし、コード (つまり、その時点でアクティビティに実行させたいこと) をコメント セクションに含める必要があります。

@Override
public void onResume(){
 //will be executed onResume
}
于 2013-03-27T12:37:00.660 に答える
3

Android アクティビティ ライフサイクル リファレンスを再確認してください。素敵な写真と、どのメソッドが呼び出されるかを示す表があります。参考 リンクグーグル

https://developer.android.com/reference/android/app/Activity.html

于 2013-03-27T12:30:09.683 に答える
2

コトリン

再起動するアクティビティでは、その onResume() メソッドが最初に実行されます。

この方法を使用するには、次のようにします。

override fun onResume() {
        super.onResume()
        // your code here
    }
于 2020-05-20T09:53:08.990 に答える