F
fruchtdroid
Neues Mitglied
- 0
Hallo Leute,
ich benötige Hilfe in folgender Sache:
Ich habe eine Activity die von FragmentActivity erbt. In dem XMLlayout befindet sich nur der ViewPager, da der Screen nur von den Fragmenten gefüllt werden soll.
In der onCreat()-Methode wird nun folgender Code aufgerufen(Auschnitt):
Desweiteren habe ich eine inner private Klasse definiert:
Die Methode ScreenSlidePageFragment.create(position, context, idList); gibt mir mein entsprechendes Fragment zurück. Dessen Inhalt sollte egal sein. Dies wird auch alle richtig angezeigt.
DIe Fragment sehen alle gleich aus und dienen dazu, zwischen Ihnen hin und her zu wischen. Nur der Inhalt der Texfelder und ähnlichem der Fragmente ändert sich.
DAS PROBLEM:
Wenn die Activity gestartet wird, werden nun die ersten beiden Fragmente erstellt. Laut LogCat wird getItem zweimal aufgerufen:
Ich möchte, wenn das Fragment zu sehen ist, eine bestimmte Sounddatei gespielt wird. Nur weiß ich leider nicht wann ich das machen soll, weil alles von onAttach() bis on Resume() beider Fragmente aufgerufen wird. Bei den nächsten Fragmenten funktioniert auch alles wunderbar, eben nur nicht beim Start.
Danke und viele Grüße
ich benötige Hilfe in folgender Sache:
Ich habe eine Activity die von FragmentActivity erbt. In dem XMLlayout befindet sich nur der ViewPager, da der Screen nur von den Fragmenten gefüllt werden soll.
In der onCreat()-Methode wird nun folgender Code aufgerufen(Auschnitt):
Code:
mPager = (ViewPager) findViewById(R.id.pager);
mPagerAdapter = new ScreenSlidePagerAdapter(getFragmentManager());
mPager.setAdapter(mPagerAdapter);
mPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
@Override
public void onPageSelected(int position) {
invalidateOptionsMenu();
}
});
Code:
private class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter {
public ScreenSlidePagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
Log.i(TAG, "getItem -> position="+String.valueOf(position));
return ScreenSlidePageFragment.create(position, context, idList);
}
@Override
public int getCount() {
return idList.length;
}
}
DIe Fragment sehen alle gleich aus und dienen dazu, zwischen Ihnen hin und her zu wischen. Nur der Inhalt der Texfelder und ähnlichem der Fragmente ändert sich.
DAS PROBLEM:
Wenn die Activity gestartet wird, werden nun die ersten beiden Fragmente erstellt. Laut LogCat wird getItem zweimal aufgerufen:
Code:
04-22 23:55:03.523: I/LearningActivity(16442): onCreate done
04-22 23:55:03.531: I/LearningActivity(16442): getItem -> position=0
04-22 23:55:03.531: I/ScreenSlidePageFragment(16442): Fragmentpagenumber: 0
04-22 23:55:03.539: I/LearningActivity(16442): getItem -> position=1
04-22 23:55:03.539: I/ScreenSlidePageFragment(16442): Fragmentpagenumber: 1
04-22 23:55:03.539: I/ScreenSlidePageFragment(16442): onCreate()
04-22 23:55:03.539: I/ScreenSlidePageFragment(16442): onCreateView()
04-22 23:55:03.546: I/ScreenSlidePageFragment(16442): onResume()
04-22 23:55:03.546: I/ScreenSlidePageFragment(16442): onCreate()
04-22 23:55:03.546: I/ScreenSlidePageFragment(16442): onCreateView()
04-22 23:55:03.546: I/ScreenSlidePageFragment(16442): onResume()

Danke und viele Grüße