Java 为什么我的Android ORM库会生成这些奇怪的字符串?

Java 为什么我的Android ORM库会生成这些奇怪的字符串?,java,android,sqlite,orm,Java,Android,Sqlite,Orm,我使用获取对象,然后在下面的ListView中列出它们。尽管如此,Sugar ORM并没有列出我在数据库中输入的字符串,而是生成某种资源标识符,而不是字符串。知道这些是什么吗?我怎样才能把它们变回弦 这是我的ListView代码: List<Book> books = Select.from(Book.class).orderBy("item").list(); setListAdapter(new ArrayAdapter<Book>(this, an

我使用获取对象,然后在下面的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));
List books=Select.from(Book.class).orderBy(“item”).List();
setListAdapter(新的ArrayAdapter(这个,android.R.layout.simple_list_item_1,books));

列表视图中填充了“Book”对象 对于每个列表项,简单的列表项都打印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,可以用书名填充它。这是一个多一点的工作,但你也有最多的控制列表项的布局

listview中填充了“Book”对象 对于每个列表项,简单的列表项都打印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,可以用书名填充它。这是一个多一点的工作,但你也有最多的控制列表项的布局

我不熟悉安卓,但似乎你有一个对象具有某些特征,你没有用setter或getter来解决它们?我不熟悉安卓,但似乎你有一个对象具有某些特征,而你没有用setter或getter来描述它们?@Gray感谢你写得这么好的答案!我回家后会试试的。我没有写答案@PintSizeSlash3r。我刚刚编辑了它。归功于nikitani.:-)@格雷:谢谢你写得这么好!我回家后会试试的。我没有写答案@PintSizeSlash3r。我刚刚编辑了它。归功于nikitani.:-)