本帖最後由 不知火羽 於 2012-9-30 23:38 編輯  
 
你是用ArrayAdapter只能存一個欄位的資料 
請改用SimpleAdapter試試看 
首先先將抓下來資料一個一個的欄位和其值放到HashMap<String,String>內 
再用ArrayList<HashMap<String,String>>將一筆一筆資料裝進去 
再來是要準備1個Layout作為放資料的模版 
最後再放進SimpleAdapter 
 
SimpleAdapter的寫法外面有教學可以看 
 
 
先宣告ArrayList<HashMap<String,String>>- ArrayList<HashMap<String,String>> datas;
 
  複製代碼 74行修改的部分 
- public void Parser(String urlData){
 
 -                 String temp = null;
 
 -                 int end = 0;
 
 -                 int start =0;
 
 -                 int counter = 0;
 
 -                 do{
 
 -                        HashMap<String,String> hm = new HashMap<String,Object>(); //先實體化HashMap作為放資料的容器
 
 -                         start = urlData.indexOf("<td>", end+1);
 
 -                         end = urlData.indexOf("</td>", start+1);
 
 -                         temp = urlData.substring(start+4, end);
 
 -                         if ( !temp.equals("-") )
 
 -                                  hm.put("userid",temp);    //將userid丟到HashMap
 
 -                         else
 
 -                                  hm.put("userid","");
 
 -                         
 
 -                         start = urlData.indexOf("<td>", end+1);
 
 -                         end = urlData.indexOf("</td>", start+1);
 
 -                         temp = urlData.substring(start+4, end);
 
 -                         if ( !temp.equals("-") )
 
 -                                   hm.put("text",temp);   //將text丟到HashMap
 
 -                         else
 
 -                                   hm.put("text","");
 
 -                         datas.add(hm);   //將前面HashMap封裝的資料丟到ArrayList中(就是說將一筆資料轉成HashMap再丟進ArrayList)
 
 -                         counter++;
 
 -                 }while(counter < 10);
 
 -     }
 
  複製代碼 35行修改的部分-     private void getdata()
 
 -     {
 
 -            ArrayList<HashMap<String,String>> datas = new ArrayList<HashMap<String,String>>();
 
 -  
 
 -         String urlData = "";        
 
 -             urlData = GetURLDate();
 
 -             Parser(urlData);
 
 -                 
 
 -                 final String[] items = {"userid","text"} //有幾個欄位就幾個欄位 請注意順序
 
 -                 final int[] viewId = {R.id.textViewUserid,R.id.textViewText} //請建立一個新的Layout上面放兩的textView來作顯示userid和text使用
 
 -                 final SimpleAdapter sa;        
 
 -         sa = new SimpleAdapter(this, datas,R.layout.datas_list(你所創的layout名稱),items,viewId);
 
 -         listView.setAdapter(sa);
 
 -     }
 
  複製代碼 Layout的做法就不多加說明 簡單來說就是開一個新的Layout 
再拖兩個TextView進去(你要顯示多少資料欄位就拖都多少進來),TextView怎麼擺,你的ListView就怎麼顯示 
 
上面 items和viewId這兩個陣列是互相對應的  
 |