2010-04-22 121 views
0

我有一個查詢結果集,我喜歡先編輯,然後把它放到我的ListView。如果沒有第一編輯我的數據,我可以用SimpleCursorAdapter這樣的:多維數組到ListView ..怎麼樣?

ListAdapter adapter = new SimpleCursorAdapter(
    this, 
    R.layout.list_item, 
    mCursor, 
    new String[] { "address", "city" }, 
    new int[] { R.id.address, R.id.zip_city }); 
this.setListAdapter(adapter); 

但現在,我把一切都放在一個多維數組這樣的:

if(mCursor.isFirst()) { 

     //create a new array 
     String[][] listData = new String[mCursor.getCount()][3]; 

     int i = 0; 
     do { 

      listData[i] = new String[] { 
       mCursor.getString(mCursor.getColumnIndex("address")), 
       mCursor.getString(mCursor.getColumnIndex("zip")) + " " + mCursor.getString(mCursor.getColumnIndex("city")), 
       calculateDistance(Double.parseDouble(mCursor.getString(mCursor.getColumnIndex("diff")))) 
       }; 

      i++; 

     } while(mCursor.moveToNext()); 

    } 

所以我的問題是現在,我也沒辦法如何把這個給我的ListView。有人可以幫我嗎?對不起,我的英語和Java知識不好。 :)

回答

0

要麼寫自己的適配器類,擴展BaseAdapter,與您的陣列一起工作,或切換到不同的數據結構,如MatrixCursor

0

如何使用LISTVIEW用多維數組

傢伙,最簡單的方法如下 -

在調用活動,讓我們把它叫做FirstActivity,你聲明多維數組公共靜態

public static MyArray[][];

在第二個活動,你指的這個數組使用 -

FirstActivity.MyArray

現在創建一個一維數組,使用一個循環例如

for(int i = 0; i < FirstActivity.MyArray.length; i++){ SingleArray[i] = FirstActivity.MyArray[i][0];}

從多維陣列讀取只是一列然後使用適配器到列表綁定到SingleArray

setListAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, SingleArray));

只記得每次清除數組,因此它們不保留之前的值。

問候

克雷格Paardekooper