Фрагменты Android setRetainInstance (true) не работает (библиотека поддержки Android)
У меня проблема с сохранением состояния фрагмента. Я пытаюсь использовать setRetainInstance, но не могу заставить его работать (((Я меняю состояние на 2 с помощью button1, но после изменения ориентации экрана я вижу 1 при нажатии на button2. Где моя ошибка?
public class TestFragment extends Fragment {
@Override
public void onCreate(Bundle savedInstanceState) {
setRetainInstance(true);
super.onCreate(savedInstanceState);
}
private String state = "1";
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_layout, container, false);
//button for changing state
((Button)view.findViewById(R.id.button1)).setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
state = "2";
}
});
//button for showing state
((Button)view.findViewById(R.id.button2)).setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
Toast.makeText(getActivity(), state, Toast.LENGTH_SHORT).show();
}
});
return view;
}
}
РЕДАКТИРОВАТЬ
Деятельность:
public class MainActivity extends FragmentActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
Макет деятельности:
Макет фрагмента:
Манифест XML: