2013-03-27 25 views
45

AndroidでonResume()を使用する例を教えていただけますか?onResume()の使用方法は?

また、別の実行の終了時にアクティビティを再開したい場合は、どのメソッドを実行するのですか?onCreate()またはonResume()?私は、データを更新する場合は

はまた、どのように行う私はOnCreate()を呼び出すアプリを再起動onResume()?

+0

コールから何か他のアクティビティに戻ると、いつでもonResume()が呼び出されます。 onResumeメソッドをonCreate()と同様にオーバーライドして、タスクを実行できます。 –

+0

[This(http://www.herongyang.com/Android/Activity-onCreate-and-Callback-Methods.html)は、Androidアプリのライフサイクルを理解するのに役立ちます。 – TronicZomB

+2

これらのメソッドが呼び出される順序は、Android開発者のドキュメントで説明しています。http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle – Michael

答えて

39

にそれを置きます。

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

the Android activity lifecycle, from https://developer.android.com/images/activity_lifecycle.png on https://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle

+1

ハイパーリンクを使用してリンクを提供します。 –

+0

リンクは時々私にprobを与えています。なぜ私は知りません –

+2

アクティビティライフサイクルの一部であるメソッドを手動で呼び出すことはお勧めしません:)、これは多くの問題を引き起こす可能性があります。 – Cata

76

再起動すべての活動が最初に実行そのonResume()メソッドを有します。

は、この方法を使用するには、次の操作を行います。

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

} 
3

onResume()activity lifecycle全体と呼ばれる方法の一つです。 onResume()は、onPause()に対応しています。これは、アクティビティが表示されていないといつでも呼び出されます。あなたがそれを隠す新しい活動を始めるならば。 onResume()は、非表示になったアクティビティが画面上に戻ったときに呼び出されます。

あなたは、どのような方法でアクティビティを再開するかを尋ねる質問があります。活動が最初に作成されるときにonCreate()が呼び出されます。実際には、多くのアクティビティは、一連のonPause()onResume()コールによってバックグラウンドで存続します。アクティビティはonRestart()によって最初に完全に停止され、onStop()を呼び出すことによって実際には「再開」され、その後再び有効になります。したがって、実際にonStop()で活動を停止していない場合は、onResume()を使用するのが最もよいでしょう。

上記のリンクのAndroid文書を読んで、さまざまなライフスタイルの方法の関係をより深く理解してください。どのようなライフサイクルの方法を使用しても、一般的な形式を使用しても同じです。標準的な方法をオーバーライドして、コードを含める必要があります。つまり、コメントしたセクションで、コードを含める必要があります。

@Override 
public void onResume(){ 
//will be executed onResume 
} 
+0

ビュー内のアイテムをクリックすると、onResume()が呼び出されますか? –

+1

項目をクリックしても必ずonResumeが呼び出されるわけではありません。 onResumeメソッドは、そのビューが隠れて復元されている場合、または完全に作成される前に最初の読み込み時に呼び出されます。 – Rarw

23

理解する最良の方法は、すべてのライフサイクルメソッドは、あなたの活動でオーバーライドし、それらの一つ一つにブレークポイント(エミュレータにチェックインの場合)またはログを置く持っているだろう。あなたはいつ呼び出されるのか知ることができます。

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

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

私が言及した運動を行うと、あなたはより良い理解を持っているでしょう。

+1

私はこのような詳細な説明をしばらく探していましたが、これは本当に完璧なアプリのアクティビティサイクルを作成するのに役立ちました。ありがとうございました。 –

+0

あなたは歓迎です:-) – noob

+1

すばらしい説明! +1 – powernit

7

onResume()の使用方法、理由、および使用方法については、ほとんどの回答がうまくいきますが、Activityを再作成する方法について追加したいと思います。

は私がのonCreate()またはonResume()

を実行しているものの方法その他のexectuionの最後に活動を再開したい決めるときの答えは、しかしonCreate()であるかどうかを知りたいです実際に再作成するには、Activityのどれを再作成する必要があるのか​​を自分自身に尋ねる必要があります。それがアダプタ内のデータであれば、adapterにを呼び出してadapterを再投入し、すべてを再描画する必要はありません。

viewsを更新するだけで、すべてを更新する必要がない場合は、更新する必要があるviewinvalidate()に電話する方が効率的です。これにより、viewsが再描画され、アプリケーションの実行がよりスムーズになる可能性があります。私はこれがあなたを助けることを望む。

+0

ありがとうございます。私はnotifyDataChanged()を使用しようとします – Zizou

+0

あなたは大歓迎です。お役に立てて嬉しいです。 – codeMagic

関連する問題