2013-02-02 6 views
0

하나의 안드로이드 애플리케이션을 개발해야합니다.해트맵을 사용한 안드로이드리스트 뷰의 getattribute

<root> 
<Categories> 
<Category name="books"> 
<Articles> 
    <article articleid="170" title="Colour And Vibrancy Are Part Of Our DNA"> 
    <Description> 
    Well-known interior designer 
</Description> 

내가 코드 아래 사용했다 : 여기

public class MainActivity extends Activity { 

    String URL; 
    static String KEY_CATEGORY = "Categories"; 
    ArrayList<HashMap<String, String>> songsList; 
    static final String KEY_PNAME = "Category"; 
    static final String KEY_PRICE = "Description"; 
    static final String KEY_THUMB_URL = "thumb_image"; 

     ListAdapter adapter; 

    /** Called when the activity is first created. */ 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     songsList = new ArrayList<HashMap<String, String>>(); 
    HorizontalListView list = (HorizontalListView) findViewById(R.id.listView1); 

    adapter = new ListAdapter(this, songsList); 
    list.setAdapter(adapter); 

    URL="http://webservices/new_feed_articls.xml"; 

     XMLParser parser = new XMLParser(); 
     String xml = parser.getXmlFromUrl(URL); // getting XML from URL 
     Document doc = parser.getDomElement(xml);// getting DOM element 

     NodeList nl = doc.getElementsByTagName(KEY_CATEGORY); 
     int numResults = parser.numResults(doc); 

     if((numResults <= 0)){ 
      Toast.makeText(MainActivity.this, "There is no data in the xml file", Toast.LENGTH_LONG).show(); 
      finish(); 
     } 


     // looping through all song nodes &lt;song&gt; 
     for (int i = 0; i < nl.getLength(); i++) { 
      // creating new HashMap 
      HashMap<String, String> map = new HashMap<String, String>(); 
      Element e = (Element) nl.item(i); 
      // adding each child node to HashMap key =&gt; value 
      map.put(KEY_PNAME,((Element)nl.item(i)).getAttribute("name")); 


      map.put(KEY_PRICE, parser.getValue(e, KEY_PRICE)); 
       map.put(KEY_THUMB_URL, parser.getValue(e, KEY_THUMB_URL)); 

      // adding HashList to ArrayList 
      songsList.add(map); 
     } 


     // Click event for single list row 
     list.setOnItemClickListener(new OnItemClickListener() { 

      @Override 
      public void onItemClick(AdapterView<?> parent, View view, 
        int position, long id) { 
       HashMap<String, String> map = songsList.get(position); 

내가해야

그것은

이 내 XML 태그입니다 ... 속성 값이 목록보기에 표시 할 것입니다 수행 응용 프로그램을 실행하면 listview.How에 범주 이름을 표시해야하는 이유는 속성 값을 얻을 수 있습니까 ??? 도와주세요. http://sogacity.com/how-to-make-a-custom-arrayadapter-for-listview/

답변

0

예 들여다 ... 레이아웃을 팽창 및리스트 뷰에 표시의 getView 어댑터에로드하고, 어댑터, songslist에 적재하기, XML로부터 데이터를로드 한 후

NodeList nl = doc.getElementsByTagName(KEY_PNAME); 
:

지금 내가 좋아하는 태그를 변경 한 내가 getElementsByTagName에서 실수를했을

을 ... : 나는 코드 아래 사용 후 O/P있어

이제는 출력 값을 실행해야 속성 값을 얻는 것이 좋습니다.