9

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

4

2 回答 2

32

这是之前发过的

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

从 API 级别 11 开始,您也可以只调用活动的recreate()方法。这不仅因为它的代码更少而更干净,而且它还避免了如果您的活动是由隐式意图启动的可能出现的问题。

于 2011-04-03T15:27:19.903 回答
2

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

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

在您的 onCreate 中,您当然希望检索字符串

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

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

于 2013-01-26T21:22:47.193 回答