Необратимые типы;не может привести «androidx.fragment.app.Fragment» к «com.google.android.gms.maps.MapFragment» - PullRequest
0 голосов
/ 06 июля 2019

В моем фрагменте:

 import androidx.fragment.app.Fragment;
 import androidx.fragment.app.FragmentActivity;

public class AgentsFragmentMapTab extends Fragment {

 com.google.android.gms.maps.MapFragment mapFragment = (com.google.android.gms.maps.MapFragment) getFragmentManager().findFragmentById(R.id.google_map)

здесь макет:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:orientation="vertical">

    <fragment
            android:id="@+id/google_map"
            android:layout_width="match_parent"
            android:layout_height="0dip"
            android:layout_weight="1"
            class="com.google.android.gms.maps.MapFragment"/>

</LinearLayout>

но я получаю ошибку компиляции:

Inconvertible types; cannot cast 'androidx.fragment.app.Fragment' to 'com.google.android.gms.maps.MapFragment'

1 Ответ

1 голос
/ 06 июля 2019

MapFragment теперь используется только в том случае, если ваше приложение ориентировано на API 12 и выше.https://developers.google.com/android/reference/com/google/android/gms/maps/MapFragment. Вы могли бы рассмотреть возможность использования SupportMapFragment.

В вашем файле макета

<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.mapwithmarker.MapsMarkerActivity" />

В вашей деятельности

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    // Retrieve the content view that renders the map.
    setContentView(R.layout.activity_maps);
    // Get the SupportMapFragment and request notification
    // when the map is ready to be used.
    SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
        .findFragmentById(R.id.map);
    mapFragment.getMapAsync(this);
}

Вы можете получить больше информации осайт разработчика: https://developers.google.com/maps/documentation/android-sdk/map-with-marker

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...