3 фрагмента будут отображаться на ViewPager с помощью FragmentStatePagerAdapter.Android FragmentStatePagerAdapter Preload Fragment
Я назвал эти фрагменты и 3 фрагменты привышные компоновки
1.StepOneFragmet
2.StepTwoFragmet
3.StepThreeFragmet
Мне нужно получить данные из Сервер и привязывать эти данные к разным фрагментам отдельно. Как я могу создать и инициализировать 3 фрагмента, когда я загрузил viewpager?
Если я получаю доступ к StepThreeFragment, он вернет исключение NullpointerException. Это означает, что система не создала и не инициализировала фрагмент.
Есть мои коды:
активность:
mPager = (ViewPager) findViewById(R.id.pager);
mFragments = new ArrayList<>();
mFragments.add(new StepOneFragment());
mFragments.add(new StepTwoFragment());
mFragments.add(new StepThreeFragment());
mPagerAdapter = new StepPagerAdapter(getSupportFragmentManager(),mFragments);
mPager.setAdapter(mPagerAdapter);
StepThreeFragment f = (StepThreeFragment)((StepPagerAdapter) mPager.getAdapter()).getmFragments().get(2);
f.textView_profile.setText("1111");//--->NullPointerException
StepPagerAdapter: Code
public ArrayList<Fragment> getmFragments(){
return mFragments;
}
@Override
public int getCount() {
return 3;
}
@Override
public Fragment getItem(int position) {
return mFragments.get(position);
}
StepThreeFragment: (Например -> SetText из TextView)
Не достаточно кода опубликовать более – Haroon
@Haroon для тестирования этих 3 фрагментов - это один и тот же макет с одним TextView. Я хочу установить текст на третий фрагмент после загрузки viewpager. Итак, это код, который я опубликовал – user2520217
Инициализация фрагмента даже не была завершена до завершения загрузки. После загрузки следует установить адаптер. Задайте аргументы для этих фрагментов, а затем передайте их на пейджер. –