Android 如何在更改屏幕旋转布局时保存字段数据
我已经阅读了很多关于数据保存实例和恢复的内容,但无法在我的案例中实现。我的申请是什么Android 如何在更改屏幕旋转布局时保存字段数据,android,android-fragments,fragment,android-savedstate,Android,Android Fragments,Fragment,Android Savedstate,我已经阅读了很多关于数据保存实例和恢复的内容,但无法在我的案例中实现。我的申请是什么 我正在使用活动(MainActivity)并调用其中的片段,比如ParentFragment ParentFragment在其中调用ChildFragment,尽管ParentFragment有自己的视图,如TextView,它取名字、姓氏和年龄,在这部分下面,我以编程方式调用ChildFragment 这样,我在MainActivity中有两个片段,在屏幕上一次向用户显示 **我想要什么** 我希望当用户改变
@覆盖
SaveInstanceState上受保护的无效(束超出状态){
putInt(FIRST_NAME_VALUE_KEY,firstNameTextView.getText());
putInt(LAST_NAME_VALUE_KEY,lastNameTextView.getText());
super.onSaveInstanceState(超出状态);
}
用于将状态写回片段中的视图
@覆盖
CreateView上的公共视图(布局、充气机、视图组容器、捆绑包保存状态){
视图=充气机。充气(R.layout.my_碎片,容器,假);
如果(savedInstanceState!=null){
String firstName=savedInstanceState.getInt(FIRST\u NAME\u VALUE\u KEY);
字符串lastName=savedInstanceState.getInt(LAST\u NAME\u VALUE\u KEY);
firstNameTextView.setText(firstName);
lastNameTextView.setText(lastName);
}
返回视图;
}
@覆盖
SaveInstanceState上受保护的空(Bundle savedInstanceState){
//将自定义值保存到捆绑包中
savedInstanceState.putInt(SOME_值,someIntValue);
savedInstanceState.putString(SOME_OTHER_值,someStringValue);
//始终调用超类,以便它可以保存视图层次结构状态
super.onSaveInstanceState(savedInstanceState);
}
在onCreate(Bundle savedInstanceState)回调中,您可以检查savedInstanceState,基于此,您可以调用u asynctask或保留如下值@覆盖
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
如果(savedInstanceState==null){
asyncTask.execute();
}否则{
someIntValue=savedInstanceState.getInt(SOME_值);
someStringValue=savedInstanceState.getString(其他值);
}
}
@覆盖
SaveInstanceState上受保护的无效(束超出状态){
putInt(FIRST_NAME_VALUE_KEY,firstNameTextView.getText());
putInt(LAST_NAME_VALUE_KEY,lastNameTextView.getText());
super.onSaveInstanceState(超出状态);
}
用于将状态写回片段中的视图
@覆盖
CreateView上的公共视图(布局、充气机、视图组容器、捆绑包保存状态){
视图=充气机。充气(R.layout.my_碎片,容器,假);
如果(savedInstanceState!=null){
String firstName=savedInstanceState.getInt(FIRST\u NAME\u VALUE\u KEY);
字符串lastName=savedInstanceState.getInt(LAST\u NAME\u VALUE\u KEY);
firstNameTextView.setText(firstName);
lastNameTextView.setText(lastName);
}
返回视图;
}
@覆盖
SaveInstanceState上受保护的空(Bundle savedInstanceState){
//将自定义值保存到捆绑包中
savedInstanceState.putInt(SOME_值,someIntValue);
savedInstanceState.putString(SOME_OTHER_值,someStringValue);
//始终调用超类,以便它可以保存视图层次结构状态
super.onSaveInstanceState(savedInstanceState);
}
在onCreate(Bundle savedInstanceState)回调中,您可以检查savedInstanceState,基于此,您可以调用u asynctask或保留如下值@覆盖
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
如果