2012-10-31 49 views
0

我正在獲取數據表格表格作爲列表並將其添加到子列表中,但我得到的輸出是我沒有想到的。我不知道如何解決這個問題,以便我可以得到我需要的輸出。我附上了代碼,請幫我解決這個問題?問題,同時使用列表從SQLite中恢復數據

public List<List<String>> fetchData(){ 
     List<List<String>> main= new ArrayList<List<String>>(); 
     List<String> sub= new ArrayList<String>(); 
     String qry="SELECT * FROM "+myTable+""; 
     SQLiteDatabase db= this.getReadableDatabase(); 
     Cursor cursor=db.rawQuery(qry, null); 
     if (cursor.moveToFirst()) { 
      do { 
       System.out.println("-TblPOmaster-"); 
       sub.add(cursor.getString(0));    
       sub.add(cursor.getString(1)); 
       sub.add(cursor.getString(2)); 
       main.add(sub); 
       System.out.println("Data:"+main); 
      } while (cursor.moveToNext());  
     } 
     cursor.close(); 
     db.close(); 
     return main; 
    } 

Output what i'm Getting Now 
Data:[[a1,a2,a3]] 
Data:[[a1,a2,a3,b1,b2,b3],[a1,a2,a3,b1,b2,b3]] 
Data:[[a1,a2,a3,b1,b2,b3,c1,c2,c3],[a1,a2,a3,b1,b2,b3,c1,c2,c3],[a1,a2,a3,b1,b2,b3,c1,c2,c3]] 

    Output what i need 
     Data:[[a1,a2,a3]] 
     Data:[[a1,a2,a3],[b1,b2,b3]] 
     Data:[[a1,a2,a3],[b1,b2,b3],[c1,c2,c3]] 

回答

0

使用這個,因爲你必須refrence新的ArrayList

public List<List<String>> fetchData(){ 
    List<List<String>> main= new ArrayList<List<String>>(); 

    String qry="SELECT * FROM "+myTable+""; 
    SQLiteDatabase db= this.getReadableDatabase(); 
    Cursor cursor=db.rawQuery(qry, null); 
    if (cursor.moveToFirst()) { 
     do { 
      System.out.println("-TblPOmaster-"); 
      List<String> sub= new ArrayList<String>(); 
      sub.add(cursor.getString(0));    
      sub.add(cursor.getString(1)); 
      sub.add(cursor.getString(2)); 
      main.add(Sub); 
      System.out.println("Data:"+main); 
     } while (cursor.moveToNext());  
    } 
    cursor.close(); 
    db.close(); 
    return main; 
} 
+0

它給我的輸出是什麼,我需要感謝SANKET :) – Aadi

+0

請給予好評我的答案.... –

+0

我想我投了你已經回答:) – Aadi