如何重启安卓Activity
?我尝试了下面的方法,但是Activity
退出了。
public static void restartActivity(Activity act){
Intent intent=new Intent();
intent.setClass(act, act.getClass());
act.startActivity(intent);
act.finish();
}
发布于 2010-10-20 12:44:44
我这样做了我的主题切换器:
Intent intent = getIntent();
finish();
startActivity(intent);
基本上,我首先调用finish()
,并且我使用的目的与本活动开始时的目的完全相同。这似乎起作用了吗?
更新:正如下面的Ralf所指出的,Activity.recreate()
是API11及以后版本的发展方向。如果是在API11+环境中,这是更好的选择。如果您使用的是API10或更低版本,您仍然可以检查当前版本并调用上面的代码片段。(请不要忘记给Ralf的答案加分!)
发布于 2012-05-05 01:11:21
从接口级别11 (蜂巢)开始,可以调用activity的recreate()方法(多亏了this answer)。
recreate()方法的作用类似于配置更改,因此如果适用,还会调用onSaveInstanceState()和onRestoreInstanceState()方法。
发布于 2010-08-06 07:36:54
在SDK 11之前,这样做的方法如下:
public void reload() {
Intent intent = getIntent();
overridePendingTransition(0, 0);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
finish();
overridePendingTransition(0, 0);
startActivity(intent);
}
https://stackoverflow.com/questions/1397361
复制相似问题