Witajcie,
w tym kodzie mam pięć Fragmentów
(tzn. wyświetlane są w jednym Fragmencie
) przesuwanych prawo-lewo. Chcę, żeby za każdym razem jak przesunę Fragment
wyświetlany był - tekst, radio buttony, i obrazek ALE w każdym Fragmencie
mają być umieszczone inne dane. Layout jest wszędzie taki sam.
Jak to napisać programowo?
public class MainActivity extends AppCompatActivity {
private ViewPager viewPager;
private ArrayList<String> strs;
private FragmentPagerAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
strs = new ArrayList<String>();
strs.add("Fragment 1");
strs.add("Fragment 2");
strs.add("Fragment 3");
strs.add("Fragment 4");
strs.add("Fragment 5");
viewPager = (ViewPager) findViewById(R.id.pager);
adapter = new FragmentPagerAdapter(getSupportFragmentManager(), strs);
viewPager.setAdapter(adapter);
}
public class FragmentPagerAdapter extends FragmentStatePagerAdapter {
private ArrayList<String> itemData;
public FragmentPagerAdapter(FragmentManager fm, ArrayList<String> itemData) {
super(fm);
this.itemData = itemData;
}
@Override
public int getCount() {
return itemData.size();
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
super.destroyItem(container, position, object);
}
@Override
public Fragment getItem(int position) {
Fragment1 f = Fragment1.newInstance(itemData.get(position));
return f;
}
}
}