2013-12-13 27 views
1

我正在使用Sugar ORM來獲取對象,然後將它們列在下面看到的ListView中。雖然,Sugar ORM似乎在生成某種資源標識符而不是字符串,而不是列出我輸入到數據庫中的字符串。任何想法這些是什麼,以及如何我可以把它們變回字符串?爲什麼我的Android 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)); 

My List

+0

我對android並不熟悉,但是看起來你有一個對象具有某些特性,並且你沒有用setter或getter來解決它們? –

回答

4

ListView控件填充了「周易」的對象 對於每一個列表項simple_list_item是印刷書類的toString。如果你不覆蓋toString,它會打印出「Class @ somenumber」,它就是你的情況。

你可以做兩件事情:

覆蓋書類的toString方法,所以你可以決定什麼表現出來的。

例如:

@Override 
public String toString(){ 
    // assuming your book has a title (and its a string), put what you want here 
    return getTitle(); 
} 

另一種選擇是讓你列表項自定義視圖。 因此,不要使用android.R.layout.simple_list_item_1創建自己的。在視圖中,你可能有一個技術觀點,你可以填寫書名。這有點多,但是你對列表項的佈局也有最大的控制權。

+1

@Gray謝謝你這個寫得很好的答案!當我回家時,我會嘗試它 – PintSizeSlash3r

+1

我沒有寫出答案@ PintSizeSlash3r。我剛剛編輯它。感謝nikitani。 :-) – Gray

相關問題