Wie nennen getSupportFragmentManager() aus einem fragment?
Möchte ich verwenden Sie eine benutzerdefinierte Datum und Uhrzeit picker in meinem code, dass ich erstellt ein separates Paket und legen Sie alle das Datum und Uhrzeit picker-Klassen gibt.
Der code läuft reibungslos, wenn ich es aus der Haupttätigkeit, aber wenn ich anrufen möchte aus einem fragment, es ist nicht zu erkennen, getSupportFragmentManager() Methode
der Anruf, den ich mache aus meiner fragment :
SimpleDateTimePicker simpleDateTimePicker = SimpleDateTimePicker.make(
"Set Date & Time Title",
new Date(),
this,
getSupportFragmentManager()
);
simpleDateTimePicker.show();
Bitte Hilfe, danke Jungs.
- getActivity().getSupportFragmentManager() versucht das ?
- Sie können getFragmentManager() direkt im Ort getSupportFragmentManager()
- ja , aber es funktioniert nicht
- versucht das auch kein Glück 🙁 es zeigt Fehler:(106, 43) Fehler: inkompatible Typen: android.app.FragmentManager kann nicht konvertiert werden, um android.Unterstützung.v4.app.FragmentManager
- Sie brauchen, um erweitern die Klasse von android.Unterstützung.v4.app.FragmentActivity, nicht nur von standard-android.Aktivität zu erhalten diese Methode.
- aber wenn ich das machen würde, dass ich denke, ich werde nicht in der Lage zu starten fragment
- Haben Sie versucht, mit FragmentActivity?
- ja, wenn ich, dass, ich war nicht in der Lage zu schaffen, fragment-Objekt
- Kannst du deine Main-Klasse?
- ich kann post, aber der code ist riesig, Sie könnten verwirrt den code, den ich gepostet alongwith Frage ist, was ich Tue, auf ein click-Ereignis zu verwenden, alle Klassen von benutzerdefinierten datetimepicker
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sie nicht.
Müssen Sie rufen Sie
getChildFragmentManager()
aus dem Fragment. Der Versuch zu nennengetActivity().getSupportFragmentManager()
wirft einen Fehler.Zunächst überprüfen Sie Ihre
frgaments
erstreckt sich vonandroid.support.v4.app.Fragment
oderandroid.app.Fragment
.Wenn esandroid.app.Fragment
dann rufen SiegetActivity().getFragmentManager();
oder wenn es reicht von der Unterstützungfrgament
dann rufen SiegetActivity().getSupportFragmentManager();
sieht aus wie
SimpleDateTimePicker
Klasse ist eine eigene Klasse, die akzeptiert nurandroid.app.FragmentManager
, nichtandroid.support.v4.app.FragmentManager
. So können Sie die Verwendung dieser Klasse nur mit API11 oder höher. Wenn Sie verwenden möchtenandroid.support.v4.app.FragmentManager
, müssen Sie Bearbeiten IhreSimpleDateTimePicker
zu akzeptieren, dassandroid.support.v4.app.FragmentManager
im KonstruktorEDIT:
ok, es gibt 2 verschiedene Klassen:
android.app.FragmentManager
undandroid.support.v4.app.FragmentManager
. Die zweite ist eine Kompatibilität-Umsetzung von der ersten. Die meisten apps verwenden, die zweite, als es erlaubt sein wird, vor API 11. Und die Klasse aus deinem link verwendet die erste. Es gibt zwei Möglichkeiten, es zu beheben:1. Sie beginnen mit
android.app.FragmentManager
stattandroid.support.v4.app.FragmentManager
. Es wird dazu führen, die app funktioniert erst ab api 11.2. Weg ändert code von
SimpleDateTimePicker
zu verwendenandroid.support.v4.app.FragmentManager
. Es ist richtiger Weise, denke ich.Dies ist für mich arbeiten
Versuchen es.