2017-01-06 42 views
-4

我想添加一個項目到我的Arraylist「eventPicture」。不能將項目添加到Arraylist <String>

public class Main extends AppCompatActivity{ 
... 
ArrayList<String> eventPicture = new ArrayList<String>(); 
protected void onCreate(Bundle savedInstanceState) { 
... 
String url = "https://developer.android.com/static/images/android_logo.png"; 
eventPicture.add(0, url); 

以上一個正常工作,但我想要做一個for循環添加URL以其他方法...

private void showEvents(String response){ 
    try{ 
     JSONObject jsonObject = new JSONObject(response); 
     events = jsonObject.getJSONArray(Constants.JSON_ARRAY); 
     for(int i = 0; i <= events.length(); i++){ 
     ... 
     String url = (Constants.URL_GET_SPECIAL_EVENTS_PICTURE + image); 
     eventPicture.add(i, url); 
     } 

我與數據JSON對象從MySQL數據庫。 Everthing工作正常,但我不能將項目添加到我的ArrayList(eventPicture)

非常感謝您的答覆。

+1

是什麼問題?爲什麼你不能添加它們? – firegloves

+0

錯誤是什麼? – Exigente05

+0

提供完整的代碼 – user5599807

回答

0

變化

for(int i = 0; i <= events.length(); i++) 

for(int i = 0; i < events.length(); i++) 
0

你的第二個代碼被一遍又一遍地將相同的URL。
您必須將您的字符串url分配給events.getString("whatever JSON key here")。你也在循環事件而不檢索數據。

這裏是你的函數的返工版本。我沒有足夠的細節來填寫整個腳本,但您應該能夠從這裏解決問題。

private void showEvents(String response) { 
    try{ 
     JSONArray urls = response.getJSONArray("URLs"); 
     for(int i = 0; i < urls.length(); i++) { 
      JSONObject jsonObject = urls.getJSONObject(i); 
      String url = events.getString("whatever JSON key"); 
      eventPicture.add(url); 
     } 
    } 
} 
+0

我編輯了我的代碼,但它仍然是同樣的問題。 –

+0

@JonasNiedermair更新了代碼。嘗試適應您的JSON響應以更好地符合您的腳本。 N.B:response.getJSONArray中的「URL」是指您的JSON響應的標頭。 –