2012-10-31 26 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