这个问题有点格式错误。对不起。 我想说的是,当您单击软件后退按钮(actionBar“向上”按钮 - 由 android 创建,当您在 list 中建立 parentActivity 时)该按钮会重新创建一个被视为“父亲”的 Activity (如果我没错)。
但我可以用这样的东西覆盖它:
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId()) {
case android.R.id.home:
onBackPressed();
return true;
}
return super.onOptionsItemSelected(item);
}
这样,如果我理解正确,就不会重新创建 Activity 。顶部的 Activity 刚刚结束(),我们看到它下面的 Activity 保存在任务中。对吧?
考虑到我没有传回任何数据,我应该使用什么或什么更好:默认或覆盖行为?如果我不重新创建 Activity 并覆盖改变行为的方法,我会遇到什么风险?任务中的 Activity 会丢失吗? (如果我现在说的话,请原谅 :D )
最佳答案
我会建议使用这个
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
onBackPressed();
return true;
}
return super.onOptionsItemSelected(item);
}
而不是这个,
@Override
public boolean onOptionsItemSelected(MenuItem item) {
return super.onOptionsItemSelected(item);
}
原因:
当您应用第二种方法时,FirstActivity
将再次启动,这意味着 onCreate()
将被调用,无论是在第一种方法 onRestart()
将按照我在评论中的建议进行调用。
Note: If you want to reload
FirstActivty
onandroid.R.id.home
press event, use second approch.
关于android - 重新创建 Activity 或只是从任务中获取它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33957723/