【发布时间】:2013-12-02 21:13:41
【问题描述】:
我正在通过调用startActivityForResult() 开始另一个活动,在按下返回按钮后,我之前的活动的 onCreate 方法被调用,因此重新创建了整个活动。
调试时发现调用startActivityOnResult()会自动调用
onPause()
onStop()
onDestroy()
当前活动的方法。这是正常行为吗,因为我读过它在开始另一个活动时只调用 onPause() 方法。
这是我的代码:
@Override
public void onResume() {
super.onResume();
}
@Override
public void onPause() {
super.onPause();
}
@Override
public void onStop() {
super.onStop();
}
@Override
public void onDestroy() {
super.onDestroy();
}
public void showScore(View view) {
Intent i = new Intent(StartMultipleChoiceActivity.this, ScoreActivity.class);
i.putExtra("blockPosition", blockPosition);
int itemVisited=submittedAnswers.size();
i.putExtra("itemVisited", itemVisited);
int itemCorrect=correctAnswers.size();
i.putExtra("itemCorrect", itemCorrect);
startActivityForResult(i,1);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
}
【问题讨论】:
-
它应该只调用 onpause() 和 onStop()。
-
但它也在调用 onDestroy()
-
为什么会调用 onDestroy()?有什么想法吗?
-
你在哪里调用
startActicityForResult()在你调用startActivityForResult()的地方粘贴那个方法或一段代码..