我正在关注this来创建导航抽屉。 在我的一个片段中,我有一个EditText。 我希望如果我旋转屏幕,EditText上的文字不会改变。
我尝试使用Bundle savedInstanceState
,但它不起作用。
我知道我应该从我的清单中删除行android:configChanges
,但我没有那条线。
我已经尝试了this question的正确答案,但它仍然不适合我。 所以我该怎么做?谢谢:))
答案 0 :(得分:0)
如果您没有android:configChanges行,那么Android将处理屏幕旋转。您的应用将被销毁并重新创建。在销毁应用程序之前,Android会调用onSavedInstanceState,您可以在其中保存数据以进行重新创建。重新创建应用程序时,传递给onCreate的包不为空并包含已保存的状态。
尝试
public void onSavedInstanceState(Bundle bundle) {
bundle.put("editTextString",et.getText().toString());
super.onSavedInstanceState(bundle);
}
并在
public void onCreate(Bundle savedInstanceState) {
if(savedInstanceState!=null) {
String savedText = savedInstanceState.get("editTextString");
et.setText(savedText);
}
}