2012-04-16 5 views
3
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.offers); 
    ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>(); 
    String xml = XMLfunctions.getX## Heading ##ML(); 
    Document doc = XMLfunctions.XMLfromString(xml); 
    int numResults = XMLfunctions.numResults(doc); 
    if((numResults <= 0)) 
    { 
     Toast.makeText(OffersActivity.this, "Geen resultaten gevonden", Toast.LENGTH_LONG).show(); 
     finish(); 
    } 
    ImageView newImg = (ImageView) findViewById(R.id.thumbimage); 
    NodeList nodes = doc.getElementsByTagName("result"); 
    for (int i = 0; i < nodes.getLength(); i++) 
    { 
     HashMap<String, String> map = new HashMap<String, String>(); 
     Element e = (Element)nodes.item(i); 
     map.put("id", XMLfunctions.getValue(e, "id")); 
     map.put("name", "" + XMLfunctions.getValue(e, "name")); 
     map.put("Score", "" + XMLfunctions.getValue(e, "score")); 
     map.put("thumbnail", "" + XMLfunctions.getValue(e, "thumbimg")); 
     mylist.add(map); 
    } 
    ListAdapter adapter = new SimpleAdapter(this, mylist , R.layout.listitems, 
      new String[] { "name", "Score", "thumbnail"}, 
      new int[] { R.id.item_title, R.id.item_subtitle, R.id.thumbimage }); 
    setListAdapter(adapter); 
} 

У меня есть адреса изображений, которые я хочу, чтобы отобразить вЯ пытаюсь добавить изображение в этом списке

map.put("thumbnail", "" + XMLfunctions.getValue(e, "thumbimg")); 

И я также получать их. На самом деле они происходят из живого xml. И я хочу поместить их в изображение. Пожалуйста помоги!

благодарит

+0

Да это хорошая статья. Но в моем случае xml находится на реальном сервере. Я получаю текст, а также отображаю его в списке. Но не может отображать относительные изображения. –

+0

Проверьте эту ссылку: http: //www.vogella.com/articles/AndroidListView/article.html .... Вам будет предложено решить вашу проблему –

ответ

2

Вы должны загрузить изображения в фоновом режиме, а затем установить их в правильные ImageViews.

Адаптеры не предоставляют вам все эти функции по умолчанию, поэтому вам нужно будет сделать некоторое дополнительное кодирование самостоятельно.

Посмотрите на этот ответ StackOverflow: Lazy load of images in ListView, и вы увидите, что я имею в виду!

+0

Я получаю это в журнале 04-16 16:19 : 46.768: I/System.out (514): resolveUri не удалось выполнить сбой bitmap uri: R.drawable.thmbimg –

+0

Если бы мне пришлось угадать, похоже, вы пытаетесь загрузить локальное изображение через код lazyload? Поскольку это не удаленный образ, он не будет работать одинаково. Я думаю, что он пытается разобрать R.drawable.thmbimg как URI и не удается (что нормально, поскольку это не URI, это локальная вещь для Android). – manavo

+0

Я сделал это .. Но у меня возникла проблема. Его работа идеальна в симуляторе, но не в устройстве. Я заменяю R.drawable.thmbimg с http://cards.designers99.com/thmbimg.png –

1

Существует вид списка с именем LazyListview.I думаю, что это поможет вам наверняка. Этот ленивый список поможет вам загрузить изображения в фоновом режиме. Когда вы открываете активность списка, вы увидите, что изображение по умолчанию загружено после загрузки изображения будет устанавливаться один за другим, что создает удивительный пользовательский интерфейс.

Я думаю, что это code поможет вам много .... :-)

Смежные вопросы