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

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


当前回答

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

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

其他回答

以一个相同的活动开始,并关闭该活动。

Intent refresh = new Intent(this, Main.class);
startActivity(refresh);//Start the same Activity
finish(); //finish Activity.

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

@Override
protected void onResume() {

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

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

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

在尝试了一段时间后,我发现重新启动一个活动并没有意想不到的后果。此外,我认为这与Android在改变方向时默认做的事情非常相似,所以在类似的情况下我没有理由不这样做。

登录后,我有同样的问题,所以我使用

@Override
protected void onRestart() {
    this.recreate();
    super.onRestart();
}

我用过这个,不用它也能正常工作 完成()

startActivity(getIntent());