0

カーソルを使用してデータベースを作成しました。リストビューで表示したい。これは私のアクティビティファイルです:

package com.ucas.course;

import java.util.List;

import org.w3c.dom.Comment;

import android.app.Activity;
import android.app.ListActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
import android.widget.TextView;

public class SQLView extends ListActivity {

 public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.list_example);
        UCAS info = new UCAS(this);
        info.open();
        String values = info.getData();
        info.close();
        AString[] columns = new String[] {UCAS.KEY_UNIVERSITY};
        int[] to = new int[] { R.id.name_entry, R.id.number_entry };
        startManagingCursor(c);
        SimpleCursorAdapter mAdapter = new SimpleCursorAdapter(this, R.layout.sqlview, c, columns, to);
        this.setListAdapter(mAdapter);

 }



}

現時点では、1 つのカーソル エラー「fillWindow() の無効なステートメント」以外にエラーはありません。それが私の問題と関係があるかどうかはわかりませんが、アクティビティを開始すると空白の画面が表示されます

public Cursor getData() {
    // TODO Auto-generated method stub
    String[] columns = new String[]{KEY_ROWID, KEY_UNIVERSITY, KEY_OFFER};
    Cursor c = ourDatabase.query(DATABASE_TABLE, columns, null, null, null, null, null);


    return c;
}
4

2 に答える 2

1

リストはカーソルを使用してデータをバックアップできます。クエリ値を保持するために結果文字列を作成する必要はありません。カーソルをアダプターに直接渡すことができます。

public String getData() {
     String[] columns = new String[]{KEY_ROWID, KEY_UNIVERSITY, 
         KEY_COURSE, KEY_UCAS, KEY_SATISFACTION, KEY_EMPLOYED, 
         KEY_OFFER, KEY_OTHER};

     Cursor c = ourDatabase.query(DATABASE_TABLE, 
         columns, null, null, null, null, null);

     return c;

}

カーソルを取得したら、SimpleCursorAdapter を使用して ListActivity にバインドします。

于 2012-07-16T22:23:16.413 に答える
0

あなたの機能に小さな変化があります

    public String getData() {
     String[] columns = new String[]{KEY_ROWID, KEY_UNIVERSITY, 
         KEY_COURSE, KEY_UCAS, KEY_SATISFACTION, KEY_EMPLOYED, 
         KEY_OFFER, KEY_OTHER};

     Cursor c = mDBHelper.getReadableDatabase.query(DATABASE_TABLE, 
         columns, null, null, null, null, null);

     return c;

}
于 2012-07-17T10:03:59.797 に答える