在Android中重载Activity是一个很好的做法吗?

最好的方法是什么?这一点。完成,然后这个。用Intent启动activity ?


当前回答

我也有同样的问题

import android.support.v4.content.IntentCompat;

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |IntentCompat.FLAG_ACTIVITY_CLEAR_TASK);

这个代码为我工作。 Android api 17

其他回答

这就是我所做的重新加载活动后,从一个首选项更改返回。

@Override
protected void onResume() {

   super.onResume();
   this.onCreate(null);
}

这本质上导致活动重绘自身。

更新:更好的方法是调用rebuild()方法。这将导致重新创建活动。

你可以简单地使用

finish();
startActivity(getIntent());

从Activity内部刷新Activity。

简单地使用

this.recreate();

这将触发活动中的onCreate方法

对于那些不想看到重现()方法后闪烁的人,只需使用

 finish();
 overridePendingTransition(0, 0);
 startActivity(getIntent());
 overridePendingTransition(0, 0);

对我来说,它是工作的,它没有创建另一个意图和同样的意图新数据加载。

    overridePendingTransition(0, 0);
    finish();
    overridePendingTransition(0, 0);
    startActivity(getIntent());
    overridePendingTransition(0, 0);