In meiner App gibt es eine Aktivität mit drei Registerkarten, von denen jede eine ListFragment enthält. Die ListFragment müssen unterschiedliche Inhalte zeigen, aber wenn ich es durch das Bündel übergeben wird sie überschrieben und ich drei Fragmente mit dem gleichen Inhalt (das späteste) Hier ist der Code:Übergeben von verschiedenen Listen zu verschiedenen Fragment-Registerkarten in der Aktivität
Im onCreate Verfahren der Aktivität:
{...
Fragment fragment;
Bundle bundle= new Bundle();
for(int i = 0; i<CATEGORIES.size(); i++) {
fragment = new MyListFragment();
bundle.putSerializable("Data", data.get(i));
fragment.setArguments(bundle);
screens.put(CATEGORIES.get(i),fragment);
}
setUpViewPagerAndTabs();
...
... }
protected void setUpViewPagerAndTabs(){
mViewPager = (ViewPager) findViewById(R.id.viewpager);
mViewPager.setOffscreenPageLimit(screens.size()+1);
mAdapter = new PageAdapter(screens, getSupportFragmentManager());
mViewPager.setAdapter(mAdapter);
tabs = (TabLayout) findViewById(R.id.tabs);
tabs.setTabGravity(TabLayout.GRAVITY_FILL);
tabs.setTabMode(TabLayout.MODE_FIXED);
tabs.setupWithViewPager(mViewPager);
}
im Fragmente Klasse erzeugt diese Linie das Überschreiben der entsprechenden Daten:
ArrayList<String> names = (ArrayList<String>)
b.getSerializable(Activity.DATA);
selbst wenn ich versuche, den Wert des Zählers (i) an das Fragment passieren, in o Um das richtige Element der Daten im Fragment auszuwählen, wird es überschrieben. Wie kann ich das beheben? Vielen Dank im Voraus
Du hast recht, was für einen dummen Fehler. Vielen Dank. – paola91