どのようにいつ、Androidの活動のライフサイクルのメソッドをオーバーライドするには?


Read this article on my blog for a better experience :)


昨日、私はStackOverflow question .
記事のOP(原文)には次のようなシナリオがありました.
彼はProgressDialog 活動中.アフタープレスCardView 瞑想セッションに対応する活動でProgressDialog 3秒間表示され、他のアクティビティが開きますm1 アクティビティ.
彼が直面した問題はMeditationActivity , the ProgressDialog 続けて、決して止まりませんでした.
彼はユーザーが戻ってくると、進捗ダイアログが閉じられていたm1 アクティビティMeditationActivity .
質問を読んだ直後に、1つの活動のライフサイクルに存在するデフォルトメソッドをオーバーライドすることができますし、そこからのダイアログを却下することを心に打つ必要があります!
Androidの活動のライフサイクルは次のようになります.

これは役人からのイメージですandroid documentation
フローチャートから見るとonResume() 別の画面からのアクティビティーに戻るたびに呼び出されるメソッドです.それで、我々がダイアログを解雇するために論理を置くべき場所であるようです!

次のようにします.
@Override
public void onResume(){
    super.onResume();
    if(progressDialog != null) progressDialog.dismiss();
}
NULLチェックはprogressDialog を押すとCardView . そして、それが以前に初期化されるならば、それからprogressDialog .
これは、Androidによって提供されたデフォルトのライフサイクル方法をオーバーライドできる完璧な例でしたActivity ライフサイクルに係るアクションを実行する.
Here's my answer StackOverflowの元の質問に!StackOverflowの質問にもっと説明しますので、HashNodeの上で次のように考えてください.
この記事を参考にしてください.