Я новичок в 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);
}
}
Буду признателен за любую помощь в решении этой проблемы.