2012-07-09 65 views
0

在我的應用我在ListView顯示數據庫。在那我有2列。我將從數據庫檢索數據並顯示在ListView中。我的問題是在數據庫顯示1項應得下一行並打印下一個條目後,但它不是這樣的,它是在逐列下去。請幫幫我。ListView控件與多行

我的代碼如下:

ListView lv=(ListView)findViewById(R.id.listView1); 
db.open(); 
Cursor c = db.getAllTitles(); 
startManagingCursor(c); 
System.out.println("cursor="+c.getCount()); 
String[] from = new String[] { db.KEY_INCOME,db.KEY_INCOME}; 
int[] to = new int[] {R.id.text1 ,R.id.text2,R.id.text3}; 
SimpleCursorAdapter notes = 
     new SimpleCursorAdapter(this, R.layout.columnview, c, from, to); 
// System.out.println("notes="+notes.getCount()); 
// setListAdapter(notes);  
lv.setAdapter(notes);  
System.out.println("subbu"); 
// System.out.print("tot="+db.add().toString()); 
String sumtotal= db.add();  

我main.xml中

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="horizontal">  
    <TextView android:id="@+id/text3" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"/> 
    <ListView 
     android:id="@+id/listView1" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:drawSelectorOnTop="false" > 
    </ListView> 
</LinearLayout> 

我column.xml:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:paddingTop="4dip" 
    android:paddingBottom="6dip" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal"> 
    <TextView android:id="@+id/text1"  
     android:textSize="18sp" 
     android:layout_width="30dip" 
     android:layout_height="wrap_content"/> 
    <TextView android:id="@+id/text2" 
     android:textSize="18sp" 
     android:layout_width="110dip" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="100dp" 
     android:layout_weight="1"/> 
    <TextView android:id="@+id/text3"  
     android:textSize="18sp" 
     android:layout_width="30dip" 
     android:layout_height="wrap_content"/> 
</LinearLayout> 

回答

0

問題:

問題是你已經給出了兩列db和三個TextView的。 這裏

String[] from = new String[] { db.KEY_INCOME,db.KEY_INCOME}; 
int[] to = new int[] {R.id.text1 ,R.id.text2,R.id.text3}; 

解決方案:

添加另一列或從除去任何TextView的ID,這意味着的String[] from長度和應該是相同的。