Bearbeiten - Mach das nicht. Wenn Sie versucht sind, lesen Sie die Kommentare, warum es eine schlechte Idee ist.
Bei der Gelegenheit versuchen Sie immer noch, dieses Problem zu lösen:
Verlängern FragmentPagerAdapter
. Erstellen Sie im Konstruktor die benötigten Fragmente und speichern Sie sie in einer Liste (Array / ArrayList) von Fragmenten.
private final int numItems = 3;
Fragment[] frags;
public SwipeAdapter (FragmentManager fm) {
super(fm);
frags = new Fragment[numItems];
Bundle args = new Bundle();
args.putString("arg1", "foo");
frags[0] = new MyFragment();
frags[1] = new YourFragment();
frags[2] = new OurFragment();
frags[2].setArguments(args);
}
Dann getItem(int position)
können Sie so etwas tun
public Fragment getItem(int position) {
return frags[position];
}
Ich bin mir nicht sicher, ob dies die allgemein akzeptierte Methode ist, aber es hat bei mir funktioniert.
Bearbeiten
Dies ist wirklich kein guter Weg. Wenn Sie vorhaben, Orientierungsänderungen zu verarbeiten oder Ihre App in den Hintergrund zu rücken, wird dies wahrscheinlich Ihren Code beschädigen. Bitte lesen Sie die Kommentare unter dieser Antwort für weitere Informationen. Verwenden Sie lieber die Antwort von @James