CursorAdapter似乎没有设置光标的功能

时间:2012-05-10 19:10:30

标签: android android-cursoradapter

我正在尝试创建自定义CursorAdapter。我已经设置了DBAdapter类的数据库。我有:

public class ExampleCursorAdapter extends CursorAdapter {

    public ExampleCursorAdapter(Context context, Cursor c) {
        super(context, c);
    }

    public void bindView(View view, Context context, Cursor cursor) {
        TextView summary = (TextView)view.findViewById(R.id.label);
        summary.setText(cursor.getString(
                cursor.getColumnIndex(DBAdapter.question)));
    }

    public View newView(Context context, Cursor cursor, ViewGroup parent) {
        LayoutInflater inflater = LayoutInflater.from(context);
        View v = inflater.inflate(R.layout.more_results, parent, false);
        bindView(v, context, cursor);
        return v;
    }

}

我有一个详细的反馈课,我正在创建ExampleCursorAdapter的实例。我遇到的问题似乎没有任何设置CursorAdapter

     public class DetailedFeedback extends ListActivity {
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);

        Cursor c = db.getAllContacts();
    ExampleCursorAdapter adapter = new ExampleCursorAdapter(this, c);
        setListAdapter(adapter);

    }

} 

我不确定这是否是正确的语法。

2 个答案:

答案 0 :(得分:0)

您的自定义适配器构造函数是:

public ExampleCursorAdapter(Context context, Cursor c) {
    super(context, c);
}

当您实例化它时,您设置了null Contextnull Cursor。将光标设置为实例化适配器的位置:

Cursor c = //.. retrieve a cursor with results from the database
ExampleCursorAdapter adapter = new ExampleCursorAdapter(this, c);

您还有方法changeCursor()

答案 1 :(得分:0)

尝试使用SimpleCursorAdapter进行数据库输入。 SimpleCursorAdapter