gpt4 book ai didi

android - 重新创建 Activity 或只是从任务中获取它?

转载 作者:行者123 更新时间:2023-11-29 01:26:08 27 4
gpt4 key购买 nike

这个问题有点格式错误。对不起。我想说的是,当您单击软件后退按钮(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 on android.R.id.homepress event, use second approch.

关于android - 重新创建 Activity 或只是从任务中获取它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33957723/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com