0

我正在开发一个简单的列表视图,但我收到了错误的信息,而不是正确的数据表单 db。

List<Category> values = cdao.listAllItems();
ArrayAdapter<Category> adapter = new ArrayAdapter<Category>(this,
   R.layout.row, values);
setListAdapter(adapter);


public List<Category> listAllItems() {
    List<Category> list = new ArrayList<Category>();

    Cursor cursor = db.rawQuery("SELECT _id, category " +
            " FROM category", null);

    while (cursor.moveToNext()) {
        Category c = new Category();
        c.setId(cursor.getInt(cursor.getColumnIndex("_id")));
        c.setCategory(cursor.getString(cursor.getColumnIndex("category")));
        list.add(c);
        Log.d(wallet.utils.Constants.TAG, c.getCategory());
    }
    return list;
}


<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="10dp"
    android:textSize="16sp" >
</TextView>

结果是:wallet.entity.Category@44dbe038,正确的值必须是单词“General”。

怎么了?

提前致谢。

4

2 回答 2

0

试试这个

if(cursor.getCount > 0) {
   cursor.moveToFirst();
   for(int i =0;i<cursor.getCount();i++) {
       Category c = new Category();
       c.setId(cursor.getInt(cursor.getColumnIndex("_id")));
       c.setCategory(cursor.getString(cursor.getColumnIndex("category")));
       list.add(c);
       Log.d(wallet.utils.Constants.TAG, c.getCategory());
   }
} 
于 2012-04-12T23:38:34.637 回答
0

我发现出了什么问题。我忘了在我的班级上覆盖 toString 。

@Override
public String toString() {
    return category;
}

我希望它可以帮助其他人。

于 2012-04-17T17:04:06.713 回答