Android保存和恢复文本视图文本视图寻呼机片段
在我的Android保存和恢复文本视图文本视图寻呼机片段,android,android-fragments,Android,Android Fragments,在我的ViewPager中,我有一些片段,在TextView文本的页面间切换清除后,我动态地更改了一些TextView文本,并且我无法从实例保存和还原它们 这是我的代码,不工作 private String value1; private String value2; private String value3; @Overri
ViewPager
中,我有一些片段,在TextView
文本的页面间切换清除后,我动态地更改了一些TextView
文本,并且我无法从实例保存和还原它们
这是我的代码,不工作
private String value1;
private String value2;
private String value3;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//@formatter:off
context = getActivity().getBaseContext();
activity = getActivity();
//@formatter:on
}
@Override
public void onViewStateRestored(@Nullable Bundle inState) {
super.onViewStateRestored(inState);
if (inState != null) {
inState.getString("value1", value1);
inState.getString("value2", value2);
inState.getString("value3", value3);
sahmiyeh_value_1.setText(value1);
sahmiyeh_value_2.setText(value2);
sahmiyeh_value_3.setText(value3);
}
}
@Override
public void onSaveInstanceState(@Nullable Bundle outState) {
super.onSaveInstanceState(outState);
outState.putString("value1", sahmiyeh_value_1.getText().toString());
outState.putString("value2", sahmiyeh_value_2.getText().toString());
outState.putString("value3", sahmiyeh_value_3.getText().toString());
}
您没有声明字符串值
value1、value2、value3
为空。这就是为什么TextView或EditText没有价值的原因
@Override
public void onViewStateRestored(@Nullable Bundle inState) {
super.onViewStateRestored(inState);
if (inState != null) {
value1 = inState.getString("value1");
value2 = inState.getString("value2");
value3 = inState.getString("value3");
sahmiyeh_value_1.setText(value1);
sahmiyeh_value_2.setText(value2);
sahmiyeh_value_3.setText(value3);
}
}
或者你可以这样做
sahmiyeh_value_1.setText(inState.getString("value1"));
sahmiyeh_value_2.setText(inState.getString("value2"));
sahmiyeh_value_3.setText(inState.getString("value3"));
您没有声明字符串值
value1、value2、value3
为空。这就是为什么TextView或EditText没有价值的原因
@Override
public void onViewStateRestored(@Nullable Bundle inState) {
super.onViewStateRestored(inState);
if (inState != null) {
value1 = inState.getString("value1");
value2 = inState.getString("value2");
value3 = inState.getString("value3");
sahmiyeh_value_1.setText(value1);
sahmiyeh_value_2.setText(value2);
sahmiyeh_value_3.setText(value3);
}
}
或者你可以这样做
sahmiyeh_value_1.setText(inState.getString("value1"));
sahmiyeh_value_2.setText(inState.getString("value2"));
sahmiyeh_value_3.setText(inState.getString("value3"));
您可以尝试freezesText
<TextView
...
android:freezesText="true" />
从文件:
如果设置,文本视图将在其冻结的冰柱内包括当前完整文本,以及元数据,如当前光标位置。默认情况下,这是禁用的;当文本视图的内容未存储在持久位置(如内容提供程序)时,它可能非常有用
您可以尝试freezesText
<TextView
...
android:freezesText="true" />
从文件:
如果设置,文本视图将在其冻结的冰柱内包括当前完整文本,以及元数据,如当前光标位置。默认情况下,这是禁用的;当文本视图的内容未存储在持久位置(如内容提供程序)时,它可能非常有用
非常感谢小姐:)欢迎:)我很高兴(至少)我帮助了你。非常感谢小姐:)欢迎:)我很高兴(至少)我帮助了你。@LaraBelle猫头鹰眼:)@Piyush,因为我对冷冻食品感到困惑。我对android还是新手。所以,我试图找到这篇文章,发现他刚刚抄袭了拉哈夫·苏德的答案。@LaraBelle这对发展是件好事!我希望你能成为一名优秀的开发者@拉拉贝尔猫头鹰眼:)@Piyush,因为我对冰柜文本感到困惑。我对android还是新手。所以,我试图找到这篇文章,发现他刚刚抄袭了拉哈夫·苏德的答案。@LaraBelle这对发展是件好事!我希望你能成为一名优秀的开发者!