• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Błąd przy tworzeniu aplikacji z Google Maps

Aruba Cloud PRO i VPS, Openstack, VMWare, MS Hyper-V
0 głosów
303 wizyt
pytanie zadane 12 lipca 2019 w Java przez kvbq Obywatel (1,490 p.)

Próbuje stworzyć aplikacje dla androida używającą Google Maps. Po ustawianiu wszystkich rzeczy (nazwa, typ activity jako mapa itp), kliknięciu zakończ i wygenerowaniu klucza cały czas pojawia się błąd w tym miejscu: 

SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
        .findFragmentById(R.id.map);

 

Treść błędu: inconvertible types; cannot cast 'android.support.v4.app.Fragment' to 'com.google.android.gms.maps.SupportMapFragment'

Nie zacząłem jeszcze nawet pisać programu. Z góry dziękuję za pomoc. 

2 odpowiedzi

0 głosów
odpowiedź 12 lipca 2019 przez SmoothCrash Obywatel (1,520 p.)
musisz zmienic z import android.app.Fragment; na import android.support.v4.app.Fragment;

i import android.app.FragmentManager; na import android.support.v4.app.FragmentManager;
komentarz 13 lipca 2019 przez kvbq Obywatel (1,490 p.)

Mam tylko takie importy:

import android.support.v4.app.FragmentActivity;
import android.os.Bundle;

import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;

 

Nigdzie nie ma android.app.Fragment ani android.app.FragmentManager

Nawet po dodaniu android.support.v4.app.Fragment i android.support.v4.app.FragmentManager nic się nie dzieje, jedynie pokazuje je jako nieużywane

komentarz 13 lipca 2019 przez SmoothCrash Obywatel (1,520 p.)
a jak dodasz te dwa co pisalem to tez nie dziala ?
komentarz 15 lipca 2019 przez kvbq Obywatel (1,490 p.)

Próbowałem i android.support.v4.app.Fragment z android.support.v4.app.FragmentManager

oraz android.app.Fragment z import android.app.FragmentManager. Wszystkie pokazują się jako nieużywane. Mam jeszcze error w logach 

Manifest merger failed : Attribute application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91
	is also present at [androidx.core:core:1.0.0] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory).
	Suggestion: add 'tools:replace="android:appComponentFactory"' to <application> element at AndroidManifest.xml:15:5-45:19 to override.

Z tym, że po dodaniu tego tools:replace="android:appComponentFactory" pojawiają się 2 nowe błedy

Error: tools:replace specified at line:15 for attribute android:appComponentFactory, but no new value specified app main manifest (this file), line 14 
Error: Validation failed, exiting app main manifest (this file)

 

0 głosów
odpowiedź 16 lipca 2019 przez kvbq Obywatel (1,490 p.)

Udało mi się rozwiązać problem. Dla osób, które tu trafią tu jest link do strony z rozwiązaniem:

http://qaru.site/questions/17913730/inconvertible-types-cannot-cast-androidsupportv4appfragment-to-comgoogleandroidgmsmapssupportmapfragment

I tłumaczenie z Google Translate

Zmagałem się również z tym problemem, ale okazuje się, że nowa wersja map Google korzysta z AndroidX z wersji 17.0.0. Więc powinieneś użyć 16.1.0

Więc zmień to:

implementacja 'com.google.android.gms: play-services-maps: 17.0.0'
Do tego:

implementacja 'com.google.android.gms: play-services-maps: 16.1.0'
Upewnij się również, że nie używasz tego, który używa AndroidX: w moim przypadku użyłem go, co spowodowało problemy:


 
implementacja „com.google.android.gms: play-services-location: 17.0.0”
więc też to zrobiłem

implementacja „com.google.android.gms: play-services-location: 16.0.0”
To jest lista wersji; https://mvnrepository.com/artifact/com.google.android.gms/play-services-maps

Prawidłowe wersje usług Google Play to https://developers.google.com/android/guides/releases.

Podobne pytania

0 głosów
0 odpowiedzi 820 wizyt
pytanie zadane 2 lipca 2019 w JavaScript przez cyrus33 Użytkownik (680 p.)
0 głosów
1 odpowiedź 338 wizyt
pytanie zadane 17 grudnia 2017 w JavaScript przez chmod96 Obywatel (1,300 p.)
0 głosów
0 odpowiedzi 140 wizyt
pytanie zadane 14 listopada 2017 w Inne języki przez ebo96rok Bywalec (2,980 p.)

91,276 zapytań

139,942 odpowiedzi

315,129 komentarzy

60,722 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Sklep oferujący ćwiczenia JavaScript, PHP, rozmowy rekrutacyjne dla programistów i inne materiały

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...