Android Gridview:如何将XML传递给Gridview?

时间:2011-09-19 08:09:02

标签: android xml gridview

我有一个控件Gridview和一个必须填充GridView的XML。

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>

如何为此创建光标?或者替代方案,请?

再见。

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

我认为正确的答案是针对此xml执行特定的适配器类。但它更复杂,需要更多时间。 #Sravan没有提供代码,所以我不得不给出正确答案。

我们可以寻找创意且简单的解决方案,尽管没有进行优化。

如果案例是您只需要1或2个XML字段,这通常是可以的,因为您显示的是可点击的列表,因此您只需显示标题并提供实质性信息(例如id或使用标题本身的文本),这样当您单击时,将转到另一个活动。 所以最简单的方法是使用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的值。