Я новичок в Android, и у меня возникла следующая проблема. Я разрабатываю как для Android 2, так и для 3, поэтому использую фрагменты. Однако, чтобы приложение работало на устройствах Android 2, я импортирую android.support.v4.app.ListFragment. Мне нужно сохранить выбор в моем ListFragment при изменении ориентации экрана. Я переопределяю метод onSaveInstanceState ()
и помещаю int в пакет. Когда экран поворачивается, вызывается этот метод, и в пакет добавляется int. Однако, когда вызывается onActivityCreated ()
, его пакет равен нулю. Я следую примеру, приведенному на веб-сайте Android: http://developer.android.com/reference/android/app/Fragment.html , но, как упоминалось выше, после onSaveInstanceState ()
вызывается, пакет в onActivityCreated ()
по-прежнему пуст.
Вот код:
import android.support.v4.app.ListFragment;
public class VisitsHomeFragment extends ListFragment {
private int selectedPosition = -1;
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
if (savedInstanceState != null) {
if (savedInstanceState.containsKey("SELECTED_POSITION")) {
selectedPosition = savedInstanceState.getInt("SELECTED_POSITION");
}
}
}
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putInt("SELECTED_POSITION", selectedPosition);
}
}
Я был бы признателен за любую помощь с этой проблемой.