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