如何从字符串列表更改信息窗口中的文本视图文本
Posted
技术标签:
【中文标题】如何从字符串列表更改信息窗口中的文本视图文本【英文标题】:how to change textview's text in info window, from list of Strings 【发布时间】:2016-08-07 12:15:05 【问题描述】:当我的 MapActivity 打开时,我从我的 Firebase 数据库中请求一些信息,其中包含某些酒店的这些数据,然后它使用加载的数据创建标记。我尝试使用 sn-p,但如果我的评论太长,它无法显示..
@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)));
所以,我用它的方法实现了 InfoAdapter 监听器:
@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;
现在我想在点击不同标记时更改 reviewTextView 中的文本,以显示每个标记(每家酒店)的评论...
我尝试将 onLoaded 方法中的所有评论存储到名为 reviewList 的 ArrayList 中,但现在我不确定如何为某个标记提取这些评论..
【问题讨论】:
【参考方案1】:使用Map
而不是ArrayList
,并将评论放入onLoaded()
方法中的Map
中,使用Marker
s 的ID 作为键。在getInfoWindow()
方法中,通过传入Marker
的ID从Map
检索评论。
private Map<String, String> reviewMap = new HashMap<>();
...
@Override
public void onLoaded(String name, double lat, double lon, String author,
float foodRating, float serviceRating, float comfortRating,
float averageRating, String 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)));
reviewMap.put(marker.getId(), review);
...
@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);
String review = reviewMap.get(marker.getId());
reviewTextView.setText(review);
return view;
【讨论】:
Tnx 迈克!我只需要将 reviewMap 更改为 Map以上是关于如何从字符串列表更改信息窗口中的文本视图文本的主要内容,如果未能解决你的问题,请参考以下文章