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

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


当前回答

简单地使用

this.recreate();

这将触发活动中的onCreate方法

其他回答

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

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

我看到了之前给出的使用Intent重新加载活动的答案。这些都可以工作,但你也可以使用Activity类本身给出的rebuild()方法来做同样的事情。

不写这个

//当对话框关闭时刷新主活动

Intent refresh = new Intent(this, clsMainUIActivity.class);
startActivity(refresh);
this.finish();

这可以通过写这个来实现

recreate();

你可以简单地使用

finish();
startActivity(getIntent());

从Activity内部刷新Activity。

我也有同样的问题

import android.support.v4.content.IntentCompat;

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

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

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

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