Inconvertible types; kann android.app.fragment @ nicht besetz
Ich bin ein Neuling in der Programmierung in Android Studio. Ich habe versucht, mit Google Maps (Einrichten von Zielen, Routen und mehr) in einer Navigationsleiste zu arbeiten, in der ich mehrere Fragmente habe und eines speziell für Google Maps. Ich hatte Probleme Marker verwenden und die Karte mit dem @ bearbeitonMapReady()
-Methode, ich konnte feststellen, dass ich stattdessen das @ verwenden sollonActivityCreated()
-Methode, aber als ich anfing, daran zu arbeiten, gab es mir den folgenden Fehler: Nicht konvertierbare Typen, kann @ nicht umwandeandroid.app.Fragment
zucom.google.android.gms.maps.SupportMapFragment
. in der folgenden Codezeile:mapFragment = (SupportMapFragment) fm.findFragmentById(R.id.map);
gibt mir auch einen zweiten Fehler: Falscher 2. Argumenttyp, Gefunden:com.google.android.gms.maps.SupportMapFragment
Erforderlich:android.app.Fragment
in der folgenden Codezeile:fm.beginTransaction().replace(R.id.map, mapFragment).commit();
. Leider konnte ich keine Antwort oder Lösung für dieses Problem finden und werde mich über Ihre Hilfe freuen.
Hier ist mein vollständiger Code für das Fragment, auf dem sich die Karte befindet:
package demo.mapas;
import android.app.Fragment;
import android.os.Bundle;
import android.support.annotation.Nullable;
//import android.support.v4.app.FragmentManager;
import android.app.FragmentManager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.example.usuario.mapas.R;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
/**
* Created by USUARIO on 3/12/2016.
*/
public class opcion1Fragment extends Fragment {
private SupportMapFragment mapFragment;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_option1, container, false);
return rootView;
}
@Override
public void onActivityCreated(Bundle savedInstanceState){
super.onActivityCreated(savedInstanceState);
FragmentManager fm = getChildFragmentManager();
mapFragment = (SupportMapFragment) fm.findFragmentById(R.id.map);
if(mapFragment == null){
mapFragment = SupportMapFragment.newInstance();
fm.beginTransaction().replace(R.id.map, mapFragment).commit();
} else {
mapFragment.getMapAsync(new OnMapReadyCallback() {
@Override
public void onMapReady(GoogleMap googleMap) {
googleMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);
}
});
}
}
}