您能告诉我如何将overlayItem对象添加到数组中吗? 我试着用这种方式:
GeoPoint point = new GeoPoint((int)(Double.parseDouble(arrCoordonate[1])),(int)(Double.parseDouble(arrCoordonate[0])));
OverlayItem overlayItem = new OverlayItem(point, Double.parseDouble(arrCoordonate[1]) + "", Double.parseDouble(arrCoordonate[0]) +"");
List<OverlayItem> arrItem[] = overlayItem;
但我收到了一个错误:
类型不匹配:无法从OverlayItem转换为List []
答案 0 :(得分:1)
您正在混合数组和列表。如果您不必使用数组,则使用列表会更容易,在这种情况下您可能需要编写:
List<OverlayItem> itemList = new ArrayList<OverlayItem> (); // create an empty list
itemList.add(overlayItem); // add you item to the list
如果你想使用一个数组,你会这样写 - 但你需要自己管理数组的大小(这就是为什么使用上面的列表更容易):
OverlayItem[] itemArray = new OverlayItem[10]; //if you only need to insert 10 items
itemArray[0] = overlayItem;
答案 1 :(得分:0)
这是正确的,因为请查看decleartion:OverlayItem overlayItem
和List<OverlayItem> arrItem[]
因此,如果您arrItem[] = overlayItem
隐含声明List<OverlayItem> = OverlayItem
。 :)
(我不确定,但我认为变量名称末尾的[]
更糟糕。我认为括号是为数组保留的,因此List<OverlayItem> arrItem[]
会产生数组< / em> of 列表 oO)
您想要创建一个新的OverlayItem列表,然后将该项添加到此列表中。我不确定您是否可以直接实例List
所以我使用ArrayList
:
GeoPoint point = new GeoPoint((int)(Double.parseDouble(arrCoordonate[1])),(int)(Double.parseDouble(arrCoordonate[0])));
OverlayItem overlayItem = new OverlayItem(point, Double.parseDouble(arrCoordonate[1]) + "", Double.parseDouble(arrCoordonate[0]) +"");
ArrayList<OverlayItem> arrItem = new ArrayList<OverlayItem>();
arrItem.add(overlayItem);