How to Access Getsupportfragmentmanager() in a Fragment

How can I access getSupportFragmentManager() in a fragment?

You can directly call

getParentFragmentManager()  

to get the fragment manager. Note that getFragmentManager() also works but has been marked as deprecated.

getSupportFragmentManager() inside a fragment inside a fragment

use this getChildFragmentManager(); to get the FragmentManager inside a Fragment

How to use getSupportFragmentManager in fragment?

EDITED:
use this:

 // Remove old code
// SupportMapFragment mapFragment = (SupportMapFragment) getChildFragmentManager().findFragmentById(R.id.map);

// don't recreate fragment everytime ensure last map location/state are maintained
if (mapFragment == null) {
mapFragment = SupportMapFragment.newInstance();
mapFragment.getMapAsync(new OnMapReadyCallback() {
@Override
public void onMapReady(GoogleMap googleMap) {
LatLng latLng = new LatLng(1.289545, 103.849972);
googleMap.addMarker(new MarkerOptions().position(latLng)
.title("Singapore"));
googleMap.animateCamera(CameraUpdateFactory.newLatLng(latLng));
}
});
}

// R.id.map is a FrameLayout, not a Fragment
getChildFragmentManager().beginTransaction().replace(R.id.map, mapFragment).commit();

according to this link Add SupportMapFragment (Android Google Maps) In Fragment

Get access to getSupportFragmentManager in non activity class

Pass your Activity instead of Context

public synchronized static void checkNewdata(List<data>input, Activity activity) {
..
FragmentManager ft = ((FragmentActivity)activity).getSupportFragmentManager();
DialogFragment newFragment = MyNotification.newInstance();
newFragment.setCancelable(false);
newFragment.show(ft, "mydialog");
..
}

How to call getSupportFragmentManager() when trying to Navigate to fragment from Recycler Adapter

getSupportFragmentManager() is a method from AppCompatActivity: https://developer.android.com/reference/android/support/v4/app/FragmentActivity#getSupportFragmentManager()

If you use Fragment from support lib (extending AppCompatActivity) you need replace for this:

FragmentManager fragmentManager = ((Activity) context).getSupportFragmentManager();

or use Fragment from Android SDK:

FragmentManager fragmentManager = ((Activity) context).getFragmentManager();

How to invoke getSupportFragmentManager() or getFragmentManager() in Activity?

Use AppCompatActivity instead of Activity to use getSupportFragmentManager() in Your Activity

and use getFragmentManager() or getActivity().getSupportFragmentManager() in fragment



Related Topics



Leave a reply



Submit