0

私のアプリケーションでは、データベースを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>
4

1 に答える 1

0

問題:

問題は、dbの2つの列との3つの列を指定したことです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を削除します。これは、とint[] toの長さが同じであることを意味します。String[] fromint[] to

于 2012-07-09T09:50:53.157 に答える