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

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


当前回答

简单地使用

this.recreate();

这将触发活动中的onCreate方法

其他回答

我需要在我的一个应用程序中更新消息列表,所以我只是在关闭我所在的对话框之前刷新了我的主UI活动。我相信还有更好的方法来实现这一点。

// Refresh main activity upon close of dialog box
Intent refresh = new Intent(this, clsMainUIActivity.class);
startActivity(refresh);
this.finish(); //

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

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

我有另一种方法,比如:设置我的活动的启动模式为singleTop,不调用finish(),只需startActivity(getIntent())就可以完成工作。你只需要关心onCreate()和onNewIntent中的新数据。有了Sush的方法,应用程序可能会像AMAN SINGH说的那样眨眼。但是AMAN SINGH的方法仍然会创造一个新的活动,这在某种程度上是不必要的,即使他解决了“眨眼”的问题,我认为。

问这个问题已经太迟了,但如果有人正在寻找解决方案,这里就是。

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

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

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

不写这个

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

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

这可以通过写这个来实现

recreate();