Несколько методов для заполнения String Array Java Android - PullRequest
1 голос
/ 16 ноября 2011

Маленький вопрос ... Какая разница в выводе между

private String[] mStrings={
     "http://a3.twimg.com/profile_images/670625317/aam-logo-v3-twitter.png",
     "http://a3.twimg.com/profile_images/740897825/AndroidCast-350_normal.png"
}

и

jArray = new JSONArray(result);
JSONObject json_data=null;
image = new String[jArray.length()];

for(int i=0;i<jArray.length();i++)
{
    json_data = jArray.getJSONObject(i);
    img = json_data.getString("Img");
    Arrays.fill(image, img);                    
} 

Поскольку первый метод отлично работает с моим ListView (image + txt) .. Второйметод, который мне действительно нужен, потому что я не хочу статических изображений.

Спасибо!

Ответы [ 3 ]

1 голос
/ 16 ноября 2011

Первый - это что-то статичное, которое вы объявили вручную, и которое нельзя изменить. Но второй код, который вы упоминаете, - это получение данных из JSON (который, вероятно, поступает из веб-службы).

В этомЕсли вам необходимо настроить адаптер List для работы с JSON и изменить его размер в соответствии с размером массива JSON.

1 голос
/ 16 ноября 2011

Изменение

Arrays.fill(image, img); 

до

image[i] = img;

Arrays.fill () заполняет заданный массив указанным вводом - это означает, что все элементы в массиве будут установлены на одно и то же. В этом сценарии это означает, что все элементы в массиве будут иметь тот же URL-адрес, что и последнее значение Img в json.

1 голос
/ 16 ноября 2011

когда вы звоните

jArray = new JSONArray(result);

параметр, который вы передаете конструктору, 'result' - это строка json, которая будет иметь формат json. Строки json имеют другой формат. Вы можете узнать об этом здесь .

Здесь выполняет JSONArray () конструктор.

...