C
CoffeeCode
Ambitioniertes Mitglied
- 2
Aufgrund einer Design Entscheidung muss mein ViewPager Fragment mit den Fragmenten die er darstellt kommunizieren und methoden seiner Kinder aufrufen. Das Fragment mit dem Viewpager stellt Buttons da, die beim klicken eine Methode im Viewer Fragment ausführen soll.
Die Buttons waren vorher im Viewer Fragment jedoch sind beim Swipen die Buttons mit gefahren was ich nicht wollte. Daher sind die Buttons nun im Viewpager.
Ich habe zwei Varianten versucht und beide ohne Erfolg. Kennt jemand eine Lösung wie die Kommunikation funktioniert oder vielleicht eine Design in dem dies so nicht nötig ist.
I. Hier ist page null. findFragmentbyTag findet mein Fragment nicht.
II.
Hier bekomme ich das richtige Fragment, jedoch ist die Instanz die falsche.
Die Buttons waren vorher im Viewer Fragment jedoch sind beim Swipen die Buttons mit gefahren was ich nicht wollte. Daher sind die Buttons nun im Viewpager.
Ich habe zwei Varianten versucht und beide ohne Erfolg. Kennt jemand eine Lösung wie die Kommunikation funktioniert oder vielleicht eine Design in dem dies so nicht nötig ist.
I. Hier ist page null. findFragmentbyTag findet mein Fragment nicht.
PHP:
gridBtn = (Button) view.findViewById(R.id.BtnGrid);
gridBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Fragment page = getFragmentManager().findFragmentByTag("android:switcher:" + R.id.pager + ":" + pager.getCurrentItem());
if (pager.getCurrentItem() == 0 && page != null)
((Viewer)page).showGrid();
}
});
II.
Hier bekomme ich das richtige Fragment, jedoch ist die Instanz die falsche.
PHP:
gridBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
((Viewer)adapter.getItem(pager.getCurrentItem())).showGrid();
}
});