Ich habe das Problem wenn ich die Scree Rotation ändere, dass in meiner FragmentActivity die onCreate()-Methode ausgeführt wird. In der OnCreate()-Methode erstelle ich die Instanzen von meinen Fragmenten und von meinem FragmentStatePagerAdapter.
Wenn also die Screen Rotation sich ändert und die onCreate()-Methode in der FragmentActivity ausgeführt wird, habe ich die falschen Instanzen von meinen Fragmenten und vom FragmentStatePageAdapter…
{
private ViewPager viewPagerTab;
private TabPagerAdapter tabAdapter;
private ActionBar actionBar;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Initilization
initPaging(); //Wird beim Orientierungswechsel aufgerufen...
}
private void initPaging()
{
List<Fragment> fragments = new Vector<Fragment>();
fragments.add(Fragment.instantiate(this, TreeFragment.class.getName()));
fragments.add(Fragment.instantiate(this, MonitorFragment1.class.getName()));
fragments.add(Fragment.instantiate(this, MonitorFragment2.class.getName()));
fragments.add(Fragment.instantiate(this, StatusmeldungFragment.class.getName()));
viewPagerTab = (ViewPager) findViewById(R.id.pager);
viewPagerTab.setOnPageChangeListener(getOnPageChangeListener());
tabAdapter = new TabPagerAdapter(getSupportFragmentManager(), fragments);
viewPagerTab.setAdapter(tabAdapter);
viewPagerTab.setOffscreenPageLimit(3);
actionBar = getActionBar();
actionBar.setHomeButtonEnabled(false);
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
// Tabs in die ActionBar hinzufuegen.
String[] tabs = {"Baum", "Monitor1", "Monitor2", "Status"};
for (String tab_name : tabs)
{
actionBar.addTab(actionBar.newTab().setText(tab_name).setTabListener(this));
}
}
...
}```
Kann mir einer weiterhelfen um das Problem zu lösen?