2013-06-30 4 views
0

내 코드를 사용하여 데이터를 표시 할 것은이 http://jsfiddle.net/navdeep/7TLDu/XML을 구문 분석 한 후, SimpleListAdapter

private void parseXML(XmlPullParser parser) throws XmlPullParserException,IOException 
{ 

    ArrayList<HashMap<String,String>> items = null; 
    int eventType = parser.getEventType(); 
    CustomObject currentProduct = null; 
    HashMap<String, String> item = null; 
    while (eventType != XmlPullParser.END_DOCUMENT){ 
     String name = null; 
     switch (eventType){ 
      case XmlPullParser.START_DOCUMENT: 
       item = new HashMap<String,String>(); 
       break; 
      case XmlPullParser.START_TAG: 
       name = parser.getName(); 
       if (name.equals("member")){ 
        currentProduct = new CustomObject(); 
       } else if (currentProduct != null){ 
        if (name.equals("name")){ 
         currentProduct.name = parser.nextText(); 
         item.put("line1", currentProduct.name); 
        } else if (name.equals("position")){ 
         currentProduct.position = parser.nextText(); 
         item.put("line2", currentProduct.position); 
        } 
       } 


       Log.i(TAG, "Node parsing"); 
       break; 
      case XmlPullParser.END_TAG: 
       name = parser.getName(); 
       if (name.equalsIgnoreCase("member") && currentProduct != null){ 
        items.add(item); 
       } 
     } 
     eventType = parser.next(); 
    } 
    Log.i(TAG, "Parsing complete"); 

    sa = new SimpleAdapter(this, items, 
     android.R.layout.two_line_list_item , 
     new String[] { "line1","line2" }, 
     new int[] {android.R.id.text1, android.R.id.text2}); 
    setListAdapter(sa); 


    // printProducts(items); 
    Log.i(TAG, "setListAdapter"); 
} 

가 XML을 구문 분석 한 후, 난 내 layout.xml에 ListView에 데이터를 표시해야합니다. 보여준 코드는 ListView에 목록을 표시하지 않습니다.

누구나 plz 도움.

감사합니다. 내가 코드를 통과 한

답변

0

는 ... 여기에 간단한 목록 어댑터의 더미 코드가 더 참조 용 ... ...에서 onCreate에 할당 어댑터를 할당하는 함수에없는 작동 희망을 시도

import java.util.ArrayList; 
import java.util.HashMap; 
import java.util.Map; 

import android.app.ListActivity; 
import android.os.Bundle; 
import android.widget.SimpleAdapter; 

public class MyTwoListItemsActivity extends ListActivity { 
protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
ArrayList<Map<String, String>> list = buildData(); 
String[] from = { "name", "purpose" }; 
int[] to = { android.R.id.text1, android.R.id.text2 }; 

SimpleAdapter adapter = new SimpleAdapter(this, list, 
    android.R.layout.simple_list_item_2, from, to); 
setListAdapter(adapter); 
} 

private ArrayList<Map<String, String>> buildData() { 
ArrayList<Map<String, String>> list = new ArrayList<Map<String, String>>(); 
list.add(putData("Android", "Mobile")); 
list.add(putData("Windows7", "Windows7")); 
list.add(putData("iPhone", "iPhone")); 
return list; 
} 

private HashMap<String, String> putData(String name, String purpose) { 
HashMap<String, String> item = new HashMap<String, String>(); 
item.put("name", name); 
item.put("purpose", purpose); 
return item; 
} 

} 
http://www.vogella.com/articles/AndroidListView/article.html

가 당신을 도움이되기를 바랍니다 더 설명을 다음 링크를 통해 이동

포어 ... ...