In meiner Anwendung habe ich 3 Fragmente in einem viewPager. Für das erste Fragment möchte ich nach einem Tastendruck die Ansicht neu laden (im Prinzip nochmal die onCreateView()
aufrufen).Fragmentierungsansicht in ViewPager aktualisieren
diese Funktionalität erhalten ich FragmentTransaction
, detach()
, attach()
und commit()
das Fragment zu verwenden, entschieden.
In Fragment habe ich erstellt SetData()
Methode:
public void setData() {
Fragment frg = null;
frg = mainMenu.getFragmentByPosition();
final android.support.v4.app.FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.detach(frg);
ft.attach(frg);
ft.commit();
}
In der Aktivität, die die viewPager hält Ich habe getFragmentByPosition()
Methode:
public Fragment getFragmentByPosition() {
String tag = "android:switcher:" + R.id.viewpager + ":" + viewPager.getCurrentItem();
return getSupportFragmentManager().findFragmentByTag(tag);
}
Das Problem ist, dass ich Nullpointer in getFragmentByPosition()
UPDATE
Das Problem ist, dass ich den Verweis auf ein derzeit angezeigtes Fragment nicht erhalten kann.
adapter.getItem(1)
- gibt null
getFragmentManager().getFragments().get(0)
- gibt null
Haben Sie versucht mit 'adapter.notifyDataSetChanged();' – Dhruv