【发布时间】:2013-12-12 15:29:50
【问题描述】:
我正在尝试使用谷歌地图 v2 构建应用程序。我的目标是尝试获取用户当前位置,然后通过 spinner1 向他们展示附近的地方。如果用户选择例如医院,那么在地图上它将显示医院的标记。以下是 logcat 中的结果。
所以,我在 spinner1 的右侧添加了另一个微调器 (spinner2) 来存储所有这些医院名称。如您所见,logcat 上有 20 家医院,但我的问题出在 spinner2 上,它只显示 1 家医院。
如何将这 20 个数据添加到 spinner2?这是我的代码:
...
@Override
protected void onPostExecute(List<HashMap<String, String>> list){
gmapv2.clear();
for(int i = 0; i<list.size(); i++){
MarkerOptions m_opt = new MarkerOptions();
HashMap<String, String> hash_tempat = list.get(i);
double llat = Double.parseDouble(hash_tempat.get("lat"));
double llong = Double.parseDouble(hash_tempat.get("lng"));
String nama = hash_tempat.get("place_name");
//Log.d("dari gg ke hendy", nama);
String vici = hash_tempat.get("vicinity");
Log.d("dari gg ke hendy", nama + " " + vici);
LatLng ab_latLng = new LatLng(llat, llong);
m_opt.position(ab_latLng);
m_opt.title(nama + " : " + vici);
m_opt.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_ORANGE));
Marker e = gmapv2.addMarker(m_opt);
detailTempat.put(e.getId(), hash_tempat.get("reference"));
adapt = new ArrayAdapter<String>(Places_On_Resta_Map.this, android.R.layout.simple_spinner_item, new ArrayList<String>());
adapt.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerDetail.setAdapter(adapt);
adapt.add(nama);
pDialog.dismiss();
}
}
任何想法或帮助将不胜感激。 环境:Windows 7、Eclipse、Genymotion。
【问题讨论】:
-
因为你添加了
new ArrayList<String>()所以它每次都会创建新的arraylist。 -
@GrlsHu 你能帮我看看这个帖子吗? stackoverflow.com/questions/20581256/…