I MapFragment zu FrameLayout in onCreate einer Aktivität wieSupportMapFragment nicht zu FrameLayout hinzugefügt werden
getSupportFragmentManager().beginTransaction()
.replace(R.id.frame_container,//where frame_container is a FrameLayout
new MapyFragment(),
MapyFragment.class.getSimpleName()).commit();
und frame_container ist ein FrameLayout
MapyFragment.class
public class MapyFragment extends Fragment {
private SupportMapFragment supportMapFragment;
private GoogleMap map;
@Override
public void onCreate(Bundle savedInstanceState) {
setRetainInstance(true);
setHasOptionsMenu(true);
super.onCreate(savedInstanceState);
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_mapy, container, false);
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
FragmentManager fm = getChildFragmentManager();/// getActivity().getSupportFragmentManager();/// getChildFragmentManager();
supportMapFragment = (SupportMapFragment) fm.findFragmentById(R.id.map_container);
if (supportMapFragment == null) {
supportMapFragment = SupportMapFragment.newInstance();
fm.beginTransaction().replace(R.id.map_container, supportMapFragment).commit();
}
}
@Override
public void onResume() {
super.onResume();
if (supportMapFragment != null) {
supportMapFragment.getMapAsync(new OnMapReadyCallback() {
@Override
public void onMapReady(GoogleMap googleMap) {
map = googleMap;
map.animateCamera(CameraUpdateFactory.zoomTo(15));
}
});
}
}
}
hinzugefügt haben
Ich habe versucht, mit getChildFragmentManager und getActivity.getSupportFragmentManager() zu ändern.
Google Karte wird nicht angezeigt. Kein Absturz, Was mache ich falsch? Bitte klären Sie und
Und warum müssen wir FragmentManger verwenden, um unsere map_container zu bekommen. Siehe
fm.findFragmentById(R.id.map_container);
fragment_mapy.xml
<fragment
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:map="http://schemas.android.com/apk/res-auto"
android:id="@+id/map_container"
class="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="40dp"
map:uiZoomControls="true" />
rafsanahmand007 Ich schätze Ihre Bemühungen. – Nepster