Android:recreate()不清除EditTexts

时间:2016-01-20 10:01:37

标签: android android-activity

我实际上使用recreate()方法重新启动了一个Activity,但是这个方法并没有清除Activity中的EditTexts。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

如果您只想清除EditText而不重新创建整个活动,则应使用setText()方法正确清除它。

像这样:

yourEditText.setText("");

答案 1 :(得分:0)

根据recreate的{​​{3}},重新调用的调用导致使用新实例重新创建活动。这导致与由于配置更改创建活动时基本相同的流程 - 当前实例将经历其生命周期到onDestroy(),然后创建新实例它。

所以基本上recreate()实际上并不像完全重新创建活动一样。

例如:如果您有setRetainInstance(true)的任何片段,则不会重新创建;只是暂停并恢复。

API级别11及以上版本支持recreate API的另一个问题。因此,如果您的应用仅定位到SDK级别11及以上,则可以使用recreate

检查您的代码中是否使用了setRetainInstance(true)

您可能需要显示更多代码才能了解具体问题!