Wenn meine MapActivity öffnet, fordere ich einige Informationen aus meiner Firebase-Datenbank, die diese Daten für bestimmte Hotels enthält und danach erstellt Marker mit geladenen Daten .. Ich habe versucht mit Schnipsel, aber wenn meine Rezension zu lang ist, kann es nicht zeigen ..wie Textview Text in Info-Fenster ändern, aus der Liste der Strings
@Override
public void onLoaded(String name, double lat, double lon, String author, float foodRating,float serviceRating,float comfortRating,float averageRating, String review) {
reviewList.add(review);
LatLng position = new LatLng(lat, lon);
marker = mGoogleMap.addMarker(new MarkerOptions().title(name)
.position(position)
.snippet("REVIEW: \n" + review + "\n").snippet(String.valueOf(averageRating)));
}
so setzte ich InfoAdapter Zuhörer mit seiner Methode:
@Override
public View getInfoWindow(Marker marker) {
View view = LayoutInflater.from(this).inflate(R.layout.info_window, null, false);
TextView reviewTextView = (TextView) view.findViewById(R.id.review);
reviewTextView.setText("");
return view;
}
und jetzt würde ich mag den Text ändern in reviewTextView, wenn ich auf einen anderen Marker klicke, um jeden Marker anzuzeigen (jedes Hotel) Bewertung ...
Ich habe versucht, alle Beiträge in onLoaded Verfahren in Arraylist speichern reviewList genannt, aber jetzt bin ich nicht sicher, wie diese Bewertungen für einen bestimmten Marker ziehen ..
Tnx Mike! Ich musste nur reviewMap in Map ändern reviewMap = new HashMap <>(); weil marker.getId(); ist ein String Wert –
joe
Hoppla, ja, du hast Recht. Ich schätze, ich habe die Klassenzusammenfassung nicht genau genug betrachtet. Entschuldigen Sie. Ich bin froh, dass du es herausgefunden hast. Prost! –