ListView'ümün kaybolduğu ViewPager ile ilgili bir sorun yaşıyorum, kaydırma konumu.FragmanSaveInstanceState üzerinde arama yapmıyor mu?
ListView devlet kolayca saklanabilir ve kullanılarak geri alınabilir:
@Override
public View onCreateView (LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
{
View v = inflater.inflate(R.layout.frag_cool_things, container, false);
AdvListView listView = (AdvListView) v.findViewById(R.id.lv0);
listView.setOnItemClickListener(mOnListItemClicked);
if (null != savedInstanceState)
{
listView.onRestoreListViewInstanceState(savedInstanceState.getParcelable("list_state"));
}
mListView = listView;
return v;
}
@Override
public void onSaveInstanceState (Bundle outState)
{
super.onSaveInstanceState(outState);
outState.putParcelable("list_state", mListView.onSaveListViewInstanceState());
}
sorun fragmanları onDestroyView()
almayanlar ediliyor çağrılan olur olduğunu ancak ancak onSaveInstanceState (Bundle outState)
aramaz.
Ekranı döndürme ve böyle bir durumda ListView
durumunu geri yükler ancak hızlıca kaydırarak listeyi düzgün şekilde nasıl geri yükleyeceğimi anlayamıyorum.
Kendi geçici çözüm sadece OnPause() içinde SharedPreferences benim şeyler yazmak ve (OnCreateView içinde onları geri almak istiyorsa ...). Ancak bu, Sharedpreferences'ı (getActivity(). GetSharedPreferences (...)) almak için ekleme etkinliğine erişmenizi zorlar. Ayrıca, etkinlik bozulduğunda istenmeyen şeyleri de silmeniz gerekebilir (ne yaptığınıza bağlı olarak). depolama, ofc). Umarım birinin daha iyi bir yolu vardır! :) –
Lütfen bkz. Güncellenmiş yanıt :) – Jona
"FragmentPagerAdapter, her bir parçayı listeden kaydırırken ayırır, ancak bunları bellekte saklarlar, böylece kullanıcı geri döndüğünde yeniden takılabilirler. Daha fazla sayıda Fragment varsa FragmentStatePagerAdapter, kullanıcı tarafından geri çekildikçe yeniden oluşturulmaları gerektiğinde aşağı doğru olanları ortadan kaldıracak şekilde düşünmeye değer. Bu nedenle, daha az sayıda parçanız varsa, FragmentPagerAdapter daha mantıklıdır, ancak daha büyük kümeler için FragmentStatePagerAdapter'ı düşünün. (Android Dev Blog) –