Я получаю предупреждение о том, что getActivity может возвратить ноль, поэтому мне было интересно, когда getActivity может вернуть ноль, что было бы проблемой, потому что я использую getActivity в качестве контекста.
Я читал в других постахиспользовать onAttach, который устарел, так каков наилучший способ получить контекст или быть уверенным, что getActivity () не будет возвращать ноль?
Я также использую viewPager с фрагментами, поэтому фрагменты прикрепляются кактивность в порядке, поэтому обычно он не возвращает ноль?
public class SectionsPagerAdapter extends FragmentStatePagerAdapter {
private int numOfTabs;
SectionsPagerAdapter(FragmentManager fm, int numOfTabs) {
super(fm);
this.numOfTabs = numOfTabs;
}
@Override
public Fragment getItem(int position) {
switch (position){
case 0:
Log.i(TAG, "Fragment Pos: "+ position);
return new Tab1();
case 1:
Log.i(TAG, "Fragment Pos: "+ position);
return new Tab2();
case 2:
Log.i(TAG, "Fragment Pos: "+ position);
return new Tab3();
case 3:
Log.i(TAG, "Fragment Pos: "+ position);
return new Tab4();
case 4:
Log.i(TAG, "Fragment Pos: "+ position);
return new Tab5();
case 5:
Log.i(TAG, "Fragment Pos: "+ position);
return new Tab6();
default:
return null;
}
}
@Override
public int getCount() {
// Get total pages
return numOfTabs;
}
}
setupViewPager () метод:
mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager(), tabLayout.getTabCount());
// Set up the ViewPager with the sections adapter
mViewPager = findViewById(R.id.viewPager);
mViewPager.setAdapter(mSectionsPagerAdapter);
mViewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));