如何在更改布局时保留信息 android studio
How to keep information when I change layout android studio
假设我的 Android 应用有一个 activity_main.xml 和一个 second_layout.xml。
其中每个都有一个按钮和一个 editText。
按钮允许我更改布局。
每当我从一个布局切换到另一个布局时,ediTexts 的内容都会被删除。
谁能告诉我如何保存它?
我尝试使用方法 onSaveInstanceState(Bundle outState)
和 onRestoreInstanceState(Bundle outState)
但它不起作用。
这是我的部分代码:
editTextSingleLW = (EditText) findViewById(R.id.editTextSingleLW);
String single_LW;
@Override
public void onSaveInstanceState(Bundle outState) {
outState.putString("Single_LW",singleLW);
super.onSaveInstanceState(outState);
}
@Override
public void onRestoreInstanceState(Bundle outState){
super.onRestoreInstanceState(outState);
editTextSingleLW.setText(outState.getString("Single_LW")+"");
}
有什么想法吗?
非常感谢。
而不是使用覆盖 onRestoreInstanceState
在 onCreate(Bundle savedInstanceState)
中使用其 savedInstanceState
参数使用相同的恢复代码。最好的方法是实现用于恢复数据的共享方法并在 onCreate
和 onRestoreInstanceState
中调用它(记得检查 if
Bundle
是 null
,因为Activity
的第一个开始是在 onCreate
)
假设我的 Android 应用有一个 activity_main.xml 和一个 second_layout.xml。 其中每个都有一个按钮和一个 editText。
按钮允许我更改布局。 每当我从一个布局切换到另一个布局时,ediTexts 的内容都会被删除。 谁能告诉我如何保存它?
我尝试使用方法 onSaveInstanceState(Bundle outState)
和 onRestoreInstanceState(Bundle outState)
但它不起作用。
这是我的部分代码:
editTextSingleLW = (EditText) findViewById(R.id.editTextSingleLW);
String single_LW;
@Override
public void onSaveInstanceState(Bundle outState) {
outState.putString("Single_LW",singleLW);
super.onSaveInstanceState(outState);
}
@Override
public void onRestoreInstanceState(Bundle outState){
super.onRestoreInstanceState(outState);
editTextSingleLW.setText(outState.getString("Single_LW")+"");
}
有什么想法吗?
非常感谢。
而不是使用覆盖 onRestoreInstanceState
在 onCreate(Bundle savedInstanceState)
中使用其 savedInstanceState
参数使用相同的恢复代码。最好的方法是实现用于恢复数据的共享方法并在 onCreate
和 onRestoreInstanceState
中调用它(记得检查 if
Bundle
是 null
,因为Activity
的第一个开始是在 onCreate
)