NativeScript / NativeScript/plugins

Android crash when displaying a custom marker info window using markerInfoContents

Offen Anfängerfreundlich
#680 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
TypeScript
Sterne
206
Forks
123
Ø Merge
2 T. 1 Std.
Gemergte PRs (30 T.)
1

Beschreibung

Android crash when displaying a custom marker info window using markerInfoContents

Using markerInfoContents to display a custom NativeScript view causes Android to crash on API 36, API 37, and a physical Android device.

Error

java.lang.IllegalStateException:
The specified child already has a parent.
You must call removeView() on the child's parent first.

Cause

In packages/google-maps/index.android.ts, the plugin adds info.view to a GridLayout container but returns the child:

container.addChild(info.view)
return info.view.nativeView

Because the returned child already belongs to the container, Google Maps attempts to attach an already-parented view.

Suggested fix

Return the wrapper container instead:

return container.nativeView

The custom information-window view should display without crashing when repeatedly opening markers.

Image

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne in packages/google-maps/index.android.ts bei der markerInfoContents-Verarbeitung, die info.view zu einem GridLayout hinzufügt. Überprüfe, dass die zurückgegebene native View der Wrapper-Container ist, reproduziere den Fehler anschließend durch wiederholtes Öffnen von Markern und bestätige, dass benutzerdefinierte Infofenster unter Android nicht mehr den Crash wegen eines bereits übergeordneten Childs auslösen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
android, typescript
Bereich
mobile-dev
Issue-Typ
Bug
Schwierigkeit
1/5
Geschätzter Aufwand
Unter einer Stunde
Aktivitätsstatus
Aktiv
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
92/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.