首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重启activity而不是reCreate [安卓]

重启activity而不是reCreate [安卓]
EN

Stack Overflow用户
提问于 2016-07-15 20:00:59
回答 5查看 2.7K关注 0票数 0

我对活动A、B、C有以下情况: A->B->C->A

在最后一步( C ->A)中,我想覆盖C的onBackPressed,以便它重新启动activity A(不重新创建它)。我应该添加哪个标志?

代码语言:javascript
复制
public void onBackPressed() {

    Intent intent=new Intent(C.this, A.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    startActivity(intent);

}
EN

回答 5

Stack Overflow用户

发布于 2016-07-15 20:38:56

这是刷新活动的最佳方式:

代码语言:javascript
复制
public void refresh() {
   Intent intent = getIntent();
   overridePendingTransition(0, 0); 
   intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); 
   finish(); 
   overridePendingTransition(0, 0); 
   startActivity(intent); 
   }
票数 1
EN

Stack Overflow用户

发布于 2016-07-15 20:05:08

OnCreate将是名为的,这是正确的行为指南,下面来自Google documentation

当您的活动在之前被销毁后重新创建时,您可以从系统传递给您的活动的捆绑包中恢复保存的状态。onCreate()和onRestoreInstanceState()回调方法都接收包含实例状态信息的相同Bundle。

由于无论系统正在创建活动的新实例还是重新创建以前的实例,都会调用onCreate()方法,因此在尝试读取状态包之前,必须检查状态包是否为空。如果为null,则系统将创建该活动的新实例,而不是恢复已销毁的前一个实例。

但是,如果处理得当,这并不重要,例如:

代码语言:javascript
复制
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState); // Always call the superclass first
   
    // Check whether we're recreating a previously destroyed instance
    if (savedInstanceState != null) {
        // Restore value of members from saved state
        mCurrentScore = savedInstanceState.getInt(STATE_SCORE);
        mCurrentLevel = savedInstanceState.getInt(STATE_LEVEL);
    } else {
        // Probably initialize members with default values for a new instance
    }
    ...
}
票数 0
EN

Stack Overflow用户

发布于 2016-07-15 20:05:27

代码语言:javascript
复制
public void onBackPressed() {

    Intent intent=new Intent(C.this, A.class);
    // remove below Flag and while going from A dont call finish();
    //intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    startActivity(intent);

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38395621

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档