在Android中重载Activity是一个很好的做法吗?
最好的方法是什么?这一点。完成,然后这个。用Intent启动activity ?
在Android中重载Activity是一个很好的做法吗?
最好的方法是什么?这一点。完成,然后这个。用Intent启动activity ?
当前回答
简单地使用
this.recreate();
这将触发活动中的onCreate方法
其他回答
在尝试了一段时间后,我发现重新启动一个活动并没有意想不到的后果。此外,我认为这与Android在改变方向时默认做的事情非常相似,所以在类似的情况下我没有理由不这样做。
Android包括一个进程管理系统,它可以处理活动的创建和销毁,这在很大程度上抵消了手动重新启动活动的任何好处。你可以在应用基础上看到更多的信息
好的做法是确保你的onPause和onStop方法释放任何你不需要保留的资源,并使用onLowMemory将你的活动需求减少到绝对最小。
我看到了之前给出的使用Intent重新加载活动的答案。这些都可以工作,但你也可以使用Activity类本身给出的rebuild()方法来做同样的事情。
不写这个
//当对话框关闭时刷新主活动
Intent refresh = new Intent(this, clsMainUIActivity.class);
startActivity(refresh);
this.finish();
这可以通过写这个来实现
recreate();
我也有同样的问题
import android.support.v4.content.IntentCompat;
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |IntentCompat.FLAG_ACTIVITY_CLEAR_TASK);
这个代码为我工作。 Android api 17
在活动中,您可以调用rebuild()来“重新创建”活动(API 11+)