替换片段清除所有Edittext值

时间:2018-08-14 13:50:08

标签: android android-fragments android-savedstate

Select Case里面我用了这个

getFragmentManager().beginTransaction()
.replace(R.id.frame_entry, new fragment_1())
.addToBackStack(null)
.commit();

在片段之间切换,但是我有一个问题。该片段包含带有预选值的EditText。当我转到fragment_2并返回到fragment_1时,我在EditText上选择的值就消失了。我该如何保持价值?

1 个答案:

答案 0 :(得分:0)

这可能会Fragment Guide有帮助。

像这样覆盖onSaveInstanceState。

 @Override
 public void onSaveInstanceState(Bundle outState) {
 super.onSaveInstanceState(outState);
 outState.putInt("curChoice", mCurCheckPosition);
}

那么您以后可以使用它

 @Override
 public void onActivityCreated(Bundle savedInstanceState) {
 super.onActivityCreated(savedInstanceState);
 if (savedInstanceState != null) {
    // Restore last state for checked position.
    mCurCheckPosition = savedInstanceState.getInt("curChoice", 0);
 }
}

片段从后堆栈返回后将调用OnActivityCreated。