2017-11-16 4 views
0

私は2つのアクティビティAとBを持っています。どちらもBaseActivityを拡張しています。アクティビティAはランチャアクティビティです。 AからボタンをクリックするとアクティビティBに行きます。でも、私は何か変わったものを見つけましたが、それが正常かどうかわかりません。アクティビティライフサイクルによると、onResume()はonPause()の前に呼び出されます。しかし、私がアクティビティBに入っているとき、baseActivityは最初に一時停止してから再開します。私が戻るボタンを押してアクティビティAに達すると、baseActivityが一時停止し、再開してから破棄されます。私はまだ理由を理解できません。多分これはノブの質問ですが、私は興味があり、私はオンラインで回答を見つけることができませんでした。あなたたちが私を助けてくれることを願っています!onPause()はBaseActivityのonResume()の前に呼び出されます

+1

onPausedは最初のアクティビティで、OnResumeは2番目のアクティビティでした。 –

+0

いいえ、BaseActivityのonPauseとonResumeにログを書きます – Rektirino

答えて

1

私はonPauseが最初のアクティビティから来て、次にOnResumeが2番目のフォームだと思っています...しかし、それらは両方ともBaseActivityから拡張されているため、おそらくそのオーダーのベースアクティビティイベントが表示されますが、 BaseActivity

だけ明確にすること、あなたは2つのアクティビティ

ActivityAを持っている - > BaseActivity

ActivityB - > BaseActivity

あなたがログインしている場合、あなたはBaseActivityあなたは、Wi両方ともBaseActivityの異なるインスタンスであり、同じではないため、両方のアクティビティのイベントをキャッチします。

+0

したがって、baseActivityのonPauseとonResumeと一緒に、アクティビティAとBのonPauseとonResumeも呼び出されますか? – Rektirino

+0

まあ実際は...しかしほとんど...アクティビティAとBはBaseActivityの拡張ですので、ActivityAとBのevens onPauseとonResumeもbaseActivityと呼ばれます(しかし異なるオブジェクトで) – FOliveira

+0

ok 。しかし、なぜそれが破壊されていますか? – Rektirino

関連する問題