作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我通过调用 startActivityForResult()
开始另一个 Activity ,在按下后退按钮后,我之前的 Activity 的 onCreate 方法被调用,因此重新创建了整个 Activity 。
在调试时我发现调用 startActivityOnResult()
会自动调用
onPause()
onStop()
onDestroy()
当前 Activity 的方法。这是正常行为吗,因为我读过它在开始另一个 Activity 时只调用 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()
完全正常。只要您的 Activity 不再有前台输入 (onPause()
) 并且不再可见 (onStop()
),它们就会被调用。
onDestroy()
只有在您以某种方式自己完成 Activity 时才应调用,或者如果您在单独的应用程序中启动 Activity 并且 Android 需要终止您自己的应用程序进程以释放内存。
关于android - 调用 startActivityOnResult() 会自动调用当前 Activity 的 onPause()、onStop() 和 onDestroy() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9735234/
我通过调用 startActivityForResult() 开始另一个 Activity ,在按下后退按钮后,我之前的 Activity 的 onCreate 方法被调用,因此重新创建了整个 Act
我是一名优秀的程序员,十分优秀!