我使用android.app.Fragment
其中LinearLayout
包含一个的android.widget.EditText
,并且我没有土地空间布局文件夹。Aandroid.text.TextWatcher
通过 被添加到 EditText 中addTextChangedListener
。假设我在 EditText 中输入了一个字母“a”并旋转了 android 设备。我希望现有的 Fragment 被完全销毁并创建一个新的 Fragment 实例。另外,我希望新片段中的 EditText 为空。但令我惊讶的是,发生了以下情况:-
- Fragment 及其包含的 Activity 都被完全销毁
- 创建了 Fragment 和 Activity 的新实例。到目前为止很好。这符合我的预期。
- 但是,EditText 上的最后一个事件被重播。最后的事件是 beforeTextChanged() 和 onTextChanged()。这怎么可能?如果创建了一个新的片段实例,这意味着创建了一个新的 EditText 实例,那么谁可以重播 EditText 上的最后一个事件?