проблема в разборе изображений в виде сетки в Android - PullRequest
0 голосов
/ 16 мая 2011

в моем приложении, когда я нажимаю на ссылку, он возвращает обратно XML-файл из этого файла, я получаю некоторые изображения.С помощью синтаксического анализатора я получаю номер изображения и URL, где хранятся изображения.Теперь я хочу показать все изображения в виде сетки.Но для меня только последнее изображение в XML-файле только в формате сетки.Ниже приведен мой код

SAXParserFactory spf = SAXParserFactory.newInstance();
            SAXParser sp = spf.newSAXParser();
            XMLReader xr = sp.getXMLReader();
            InputSource is = new InputSource();
            is.setCharacterStream(new StringReader(UserManual.IMGDATA));
            xr.setContentHandler(forlistmyhandler);
            xr.parse(is);

sitesList = forlistmyhandler.getSearch();
        searchdata = forlistmyhandler.getSearchdata();

Q = sitesList.getSearchdata().size();
for(int k=0;k<sitesList.getSearchdata().size();k++)
        {
            Log.e("MyXMLHandler", "000000000 Created");
            Searchdata chap = sitesList.getSearchdata().get(k);
            id = chap.getId();
            HashMap<String, Object> map = new HashMap<String, Object>(); 
            map.put("ID", id );
            grid.setAdapter(new ImageAdapter(this));
            Log.e("id tag",""+id);
        }

public class ImageAdapter extends BaseAdapter 
    {
        private Context myContext;

        private String[] myRemoteImages = {id};

        public ImageAdapter(Context c) 
        { 
            this.myContext = c; 
        }
        }

Пожалуйста, помогите мне решить мою проблему

1 Ответ

0 голосов
/ 16 мая 2011

В этом случае вместо использования Hashmap попробуйте использовать String []. Добавьте значения в ArrayList и затем преобразуйте в String Array.

Передайте строку [] в адаптер и загрузите изображения и дисплей.

В коде Loop:

ArrayList<String> images = new ArrayList<String>();
String[] VALUE_images;

for(int k=0;k<sitesList.getSearchdata().size();k++)
    {
        Log.e("MyXMLHandler", "000000000 Created");
        Searchdata chap = sitesList.getSearchdata().get(k);
        id = chap.getId();
        images.add(id ); 
    } 
   int img=-1;
   VALUE_images= new String[images.size()];
   Iterator<String> it = images.iterator();
   while (it.hasNext()) {
      img++;
      VALUE_images[dealid] = it.next().toString();
   }
   grid.setAdapter(new ImageAdapter(this,VALUE_images));


public class ImageAdapter extends BaseAdapter 
{
    private Context myContext;

    private String[] myRemoteImages = {id};

    public ImageAdapter(Context c,String[] value1) 
    { 
        this.myContext = c; 
        VAL1 = value1;
    }

    // as usual code follows 
...