2011-09-19 5 views
0

У меня есть элемент управления Gridview и XML, которые должны заполнять GridView.Android Gridview: как передать XML в Gridview?

XML является:

<?xml version='1.0' encoding='iso-8859-1' ?> 
<MEDS> 
    <MED> 
     <NOM>GELOCATIL</NOM> 
     <COD>12812931</COD> 
    </MED> 
    <MED> 
     <NOM>OTRO GELOCATIL</NOM> 
     <COD>1281293222</COD> 
    </MED> 
</MEDS> 

Как создать курсор для этого? Или альтернативы, PLS?

До свидания.

ответ

0

Я думаю, что правильный ответ - сделать класс адаптера, специфичный для этого xml. Но это сложнее и занимает больше времени. #Sravan не предоставил код, поэтому я обязан дать этот ответ как право.

Мы можем искать творческое и простое решение, хотя оно и не оптимизировано.

Если дело в том, что вам нужны только 1 или 2 поля XML, которые могут быть обычными, поскольку вы показываете список, который можно щелкнуть, поэтому вам нужно только показать название и предоставить существенную информацию (например, например, или использовать текст самого заголовка), чтобы при щелчке вы перешли к другому действию. Так проще всего использовать ArrayAdapter, а TreeMap и ArrayList

TreeMap<String, String> xmlMapping; 
//here you add the values of the xml with Xpath to the variables clave and valor 
xmlMapping.put(clave,valor); 

ArrayList<String> lista=new ArrayList<String>(); 

    for(Map.Entry<String, String> entry: xmlMapping.entrySet()) 
    { 
     lista.add(entry.getKey()); 

    } 


      ArrayAdapter ad=new ArrayAdapter<String>(this.activity.getApplicationContext(), 
        R.layout.gridrow,R.id.colName, 
        lista); 

      grid.setAdapter(ad); 

Тогда, чтобы знать, какой элемент был щелкнул единственное, чтобы перебирать xmlMapping или принимать значение ArrayList.

0
gridViewObj.setListAdapter(Adapters.loadAdapter(this, R.xml.contacts)); 

    gridViewObj : GridView Object 

    xml source : R.xml.contacts 
[for More info click here][1] 


    [1]: https://developer.android.com/resources/samples/XmlAdapters/index.html 
+0

Не могли бы вы передать мне код, если вы получите xml из веб-службы? Я не использую ListActivity, класс, который расширяет Activity – netadictos

+0

, тогда вы можете установить адаптер, используя расширение любого класса адаптера – sravan

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