在我的ViewPager中,我有一些片段,可以在页面之间切换清晰的TextView文本后,动态地更改某些TextView文本,并且我无法从instance保存和还原它们

这是我的代码,不起作用

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());
}

最佳答案

您可以尝试freezesText

<TextView
 ...
 android:freezesText="true" />


从文档:


  如果设置,则文本视图除了其当前光标位置之类的元数据之外,还将在其冻结的冰柱内包括其当前的完整文本。默认情况下,此功能处于禁用状态;当文本视图的内容未存储在诸如内容提供者之类的持久位置时,此功能很有用

07-28 03:26
查看更多