ListView有多行

时间:2012-07-09 09:33:17

标签: android listview

在我的应用程序中,我在ListView中显示数据库。在那我有2列。我将从数据库中检索数据并显示在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>

1 个答案:

答案 0 :(得分: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中删除所有int[] to的ID,即String[] fromint[] to的长度应相同。