作者oralB (欧乐B)
看板AndroidDev
标题[问题] 在mapview上新增很多自己写的layout
时间Sat Aug 13 00:50:40 2011
因为想在mapview上新增很多balloon对话框
然後自己也画了一个balloon的layout
但是使用for回圈新增後
显然是不行的
因为system err会叫我要removeView()
所以这样明显只能用一个
有甚麽好方法呢??
for(int i=0;i<c.getCount();i++){
id[i] = String.valueOf(c.getInt(0)); //以下是捞资料
name[i] = c.getString(5);
latitude[i] = c.getString(6);
longitude[i] = c.getString(7);//以上是捞资料
double lat =Double.parseDouble(latitude[i])*1E6;
double lon =Double.parseDouble(longitude[i])*1E6;
GeoPoint gp = new GeoPoint((int)lat,(int)lon);
bubblelayout noteBaloon = (bubblelayout) layoutInflater.inflate(
.layout.overlay_bubble, null);//修改处
((TextView) noteBaloon.findViewById(R.id.note_label)).setText(name[i]);
mMapView.addView(noteBaloon, new MapView.LayoutParams(280, 100, gp,
MapView.LayoutParams.BOTTOM_CENTER));
mMapView.setEnabled(true);
c.moveToNext();
}
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.224.48.94
1F:→ tericky:可以叠很多层啊 看你是要一层一个点 还是要一层多个点都可 08/13 07:07
2F:→ tericky:不过,如果你是很多点要显示,一层多点会比较理想 08/13 07:08
3F:→ tericky:你的问题出在...一个MapViewActivity里面,只能允许有一个 08/13 07:09
4F:→ tericky:MapView,所以你不应该是用MapView.addView(MapView) 08/13 07:10
5F:→ tericky:而是要用 MapView.getOverlays().add(Overlay) 08/13 07:12
6F:→ oralB:不好意思,那要怎麽在overlay放上layout呢?? 08/13 12:14
7F:推 tericky:overlay里面要放layout? 08/13 14:03
※ 编辑: oralB 来自: 61.224.48.94 (08/13 14:36)
8F:→ oralB:我发现我现在可以新增很多layout了,因为notebaloon是我写的 08/13 14:37
9F:→ oralB:extands linearlayout,把他宣告在for回圈里就好,变区域 08/13 14:38
※ 编辑: oralB 来自: 61.224.48.94 (08/13 14:40)
10F:→ oralB:像我上面已经加的那一行,但是问题来了,我的layout有button 08/13 14:41
11F:→ oralB:这样写反而不能控制那个BUTTON了= = 08/13 14:41