无法将项目添加到Arraylist <string>

时间:2017-01-06 18:22:10

标签: java android arraylist

我想在我的Arraylist&#34; eventPicture&#34;中添加一个项目。

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);

上面的一个正常工作,但我想用其他方法添加url和for循环......

 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)

非常感谢你的回复。

2 个答案:

答案 0 :(得分:0)

更改

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

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

答案 1 :(得分:0)

您的第二个代码是反复添加相同的网址 您必须将String 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);
        }
    }
}