2015-05-27 64 views
2

我有2個列表。如何在Android中將LatLng添加到列表<LatLng>?

double pointY[]={105.45526,105.57364,105.53505,105.45523,105.51962,105.77320} 
double pointX[]={9.99222,9.88347,9.84184,9.77197,9.55501,9.67768,9} 

我想打一個List<LatLng>LatLng[i] = (pointX[i], pointY[i])

我有以下的代碼,但它不工作:

List<LatLng> points; 
    for (int i = 0 ; i < pointX.length - 1; i++){ 
     points[i].add(LatLng(pointX[i],pointY[i])); 
    }; 

我可怎麼辦呢?

+0

你的問題是什麼他們嗎? –

+4

學習java ...哪裏是新的關鍵字? – Selvin

+0

不工作意味着發生了什麼? – Chandrakanth

回答

4
List<LatLng> points=new ArrayList<LatLng>(); 
for (int i = 0 ; i < pointX.length; i++){ 
    points.add(new LatLng(pointX[i],pointY[i])); 
}; 
+0

這不會添加列表的最後一個元素 –

+0

Hihi 列表 points = new ArrayList ();對於(int i = 0; i

2

首先,你似乎沒有初始化變量points - 你需要調用構造函數new ArrayList<>()

您也錯誤地將循環中的列表添加到列表中,並且不會在循環中爲您嘗試放入列表中的每個新點初始化一個新的LatLng

下面應該工作:

List<LatLng> points = new ArrayList<LatLng>(); 

for (int i = 0 ; i < pointX.length; i++){ 
    points.add(new LatLng(pointX[i],pointY[i])); 
} 

然後,您可以訪問列表中的對象如下:

//Some variable to determine which point you require 
int x = 0; 

LatLng latlng = points.get(x); 
+0

非常感謝:P –

2

之前將數據添加你只是初始化ArrayList

List<LatLng> points=new ArrayList<LatLng>();