如何重启android中的活动?

时间:2011-04-03 15:19:44

标签: android android-activity restart onresume

在我正在编写的应用程序中,有一部分可以让您更改窗帘设置。问题是,在重新创建活动之前,此设置不会生效。有没有办法告诉应用程序使用onResume()方法重新启动(希望允许它保存onSaveInstanceState()中的所有内容?)

2 个答案:

答案 0 :(得分:31)

这是posted before

Intent intent = getIntent();
finish();
startActivity(intent);

从API级别11开始,您也可以调用活动的recreate()方法。这不仅更清洁,因为代码更少,它可以避免在您的活动是通过隐式意图启动时可能出现的问题。

答案 1 :(得分:1)

也许您可以按照已经证明的那样重新启动活动,但是在重新启动时传递一些意图附加内容以将字符串发回。

Intent intent = getIntent();
intent.putExtra(STRINGTOSAVE, "Save this string");
finish();
startActivity(intent);

在你的onCreate中你当然想要检索字符串

Intent intent = getIntent();
String STRINGTOSAVE = intent.getStringExtra(ActivityName.STRINGTOSAVE);

然后使用检索到的字符串重新应用文本字段和您需要的任何其他操作。