İki fragman içeren bir ViewPager uygulaması var: bir ana parça ve bir liste parçası. Listede bir şey seçilirse, etkinlikte ele alınan bir olay ortaya çıkar. Etkinlik ana parçaya geçer ve "setSelectedItem" yöntemini çağırır. Bu yöntemde, Ben seçilen öğeye göre metni değiştirmek için belirli bir görünümü bulmak için getView() kullanın.fragmanında getView döndürür bazen null
Çoğu zaman çalışır, ancak bazen getView null değerini döndürür ve nedenini bilmiyorum.
pagerAdapter aktivitesinin OnCreate oluşturulur: Bu adlandırılır aktivitesi olan metod olup,
public PagerAdapter(FragmentManager fm) {
super(fm);
this.main = MainFragment.newInstance();
this.list = ListFragment.newInstance();
}
:
this.mPagerAdapter = new PagerAdapter(super.getSupportFragmentManager());
ViewPager pager = (ViewPager)super.findViewById(R.id.viewpager);
pager.setAdapter(this.mPagerAdapter);
çağrı adaptörünün yapıcısında her iki parçanın da örneklerini oluşturur
ViewPager pager = (ViewPager)super.findViewById(R.id.viewpager);
pager.setCurrentItem(0, true);
((MainFragment)mPagerAdapter.getItem(0)).setSelectedItem(id);
Ve nihayet inci: listeden bir öğe seçildiğinde Sorun hala düzensiz oluşur ben okudum ama birkaç şey denedik
TextView s = (TextView)getView().findViewById(R.id.CurrentSelection);
: soruna neden MainFragment içinde setSelectedItem yönteminde hat olmasıdır.
Ne yazık ki bende aynı sorun var ve çözünürlük yok. Benim kodumda (getView() == null) varsa; çeşitli yerlerde. Sorunu şimdiye kadar çözdüyseniz, ilgilenirim. – StackOverflowed
Parçayı parçalara ayırıcıya eklediğiniz kodu paylaşabilir misiniz? Eğer fragman için onCreateView (fragman yaşam döngüsünün bir kısmı) çağrılmamışsa getView, null değerini döndürecektir. Yani, parça, aktiviteye tamamen eklenmemiştir. – PacificSky
"TextView s" yi nerede arıyorsun? Bu, Fragman'da genel görünümde GetView var mı? –