J'ai un FragmentActivity et je souhaite utiliser un fragment de carte en son sein. J'ai un problème pour que le gestionnaire de fragments de support y accède.
if (googleMap == null) {
googleMap = ((SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map1)).getMap();
// check if map is created successfully or not
if (googleMap == null) {
Toast.makeText(getApplicationContext(),
"Sorry! unable to create maps", Toast.LENGTH_SHORT)
.show();
}
}
// create marker
MarkerOptions marker = new MarkerOptions().position(
new LatLng(latitude, longitude)).title("Hello Maps ");
CameraPosition cameraPosition = new CameraPosition.Builder()
.target(new LatLng(latitude, longitude)).zoom(15).build();
googleMap.animateCamera(CameraUpdateFactory
.newCameraPosition(cameraPosition));
// adding marker
googleMap.addMarker(marker);
android
android-fragments
android-support-library
android-fragmentactivity
fragmentmanager
DjP
la source
la source
Tout ce que vous avez à faire est d'utiliser
méthode sur votre fragment. Il vous donnera le gestionnaire de fragments de support, lorsque vous l'avez utilisé lors de l'ajout de ce fragment.
Documentation sur les fragments
la source
Obtenez-le simplement comme ça -
OU
dans la méthode onActivityCreated () de votre Fragment et dans toute méthode appelée après onActivityCreated ().
la source
Les utilisateurs de Kotlin essaient cette réponse
la source
si vous rencontrez ce problème et que vous êtes au niveau de l'API 21+, procédez comme suit:
cela obtiendra la carte lorsqu'elle est utilisée à l'intérieur d'un fragment.
la source
Vous pouvez utiliser à
getActivity().getSupportFragmentManager()
tout moment pour getSupportFragmentManager.la hiérarchie est Activité -> fragment. fragment n'est pas capable d'appeler directement getSupportFragmentManger mais Activity le peut. Ainsi, vous pouvez utiliser getActivity pour appeler l'activité actuelle dans laquelle se trouve le fragment et obtenir
getSupportFragmentManager()
la source
Mon activité parentale étend AppCompatActivity, j'ai donc dû convertir mon contexte en AppCompatActivity au lieu de simplement Activity.
par exemple.
la source
((AppCompatActivity) mContext)
une partie était exactement ce que je cherchais. Je vous remercie!fais ça dans ton fragment
la source
getActivity().getFragmentManager()
Cela a fonctionné ou moi.Jetez également un œil ici.
la source
la source
en java, vous pouvez remplacer par
à kotlin, simplifiez-vous en
j'espère que cela aidera :)
la source
Le code suivant fait l'affaire pour moi
la source
Vous pouvez utiliser childFragmentManager dans Fragments.
la source
Vous pouvez simplement accéder comme
puis utilisez
la source
Un peu de code Kotlin pour utiliser supportFragmentManager dans un fragment.
la source
getSupportFragmentManager()
utilisé lorsque vous êtes en activité et que vous souhaitez obtenir un fragment mais dans le fragment auquel vous pouvez accéderen utilisant une autre méthode appelée
getFragmentMangaer()
fonctionne de la même manièregetSupportFragmentManager()
et vous pouvez l'utiliser comme vous le faisiez auparavant:la source
La nouvelle façon simple de le faire dans Kotlin
la source
Essaye ça:
la source