我正在使用Sugar ORM来获取对象,然后将它们列在您在下面看到的ListView中。但是,Sugar ORM似乎不是将我输入的字符串列入我的数据库,而是生成某种资源标识符而不是字符串。知道这些是什么以及如何将它们变回字符串吗?
这是我的ListView代码:
List<Book> books = Select.from(Book.class).orderBy("item").list();
setListAdapter(new ArrayAdapter<Book>(this, android.R.layout.simple_list_item_1, books));
答案 0 :(得分:4)
列表视图中填充了“Book”对象 对于每个列表项,simple_list_item正在打印Book类的toString。如果你不覆盖toString,它将打印出“Class @ somenumber”,它就是你的情况。
你可以做两件事:
覆盖book类的toString方法,以便您可以决定它显示的内容。
示例:
@Override
public String toString(){
// assuming your book has a title (and its a string), put what you want here
return getTitle();
}
另一个选项是为您的listitem制作自定义视图。 所以不是使用android.R.layout.simple_list_item_1而是创建自己的。在视图中,您可能有一个tekstview,您可以填写书名。这是一项更多的工作,但您也可以最大程度地控制列表项的布局。