[英]Android populate listview with cursor
我的應用程序使用簡單的SQLite
數據庫。 一切正常我現在可以使用以下命令從返回查詢中呈現帶有所選行的Toast
:
{
//etc etc etc...
c.movetofirst();
DisplayTitle(c);
}
public void DisplayTitle(Cursor c)
{
Toast.makeText(main.this,
"id: " + c.getString(0) + "\n" +
"reg: " + c.getString(1) + "\n" +
"type: " + c.getString(2) + "\n",
Toast.LENGTH_LONG).show();
}
我想使用視圖將光標中的所有數據呈現到屏幕上,但是我不確定如何執行此操作。 我應該使用哪個視圖? 我只是想看一個簡單的網格表示,它允許我滾動光標中的每一行
提前致謝。
如何在Cursor中顯示所有行?
如果使用Cursor
有幾種方法,例如,請參閱“moveTo”相關方法,這是一個示例:
Set<Item> items = new HashSet<Item>(c.getCount());
if (c.moveToFirst()) {
do {
Item i = new Item(select(c.getString(0), c.getString(1), c.getString(2));
set.add(i);
} while (c.moveToNext());
}
if (!c.isClosed()) {
c.close();
}
這假設Item
是一個具有帶三個String
參數的構造函數的數據類。 與您的代碼,id,reg和類型一起使用。 通常,第0列將是一個數字ID(不是getString,但是SQLite使用“清單類型”,因此它會動態地從第0列鍵入String / Long-您可能要自動輸入並在那里使用getLong)。
您可以擁有一組項目,您可以對它們進行任何顯示的操作。 如果您想要一個滾動/可選擇列表,那么ListView
是一個很好的選擇。 並且,您可以使用CursorAdapter
來支持它。
這是一個ListView
的示例,該示例由CursorAdapter
從開放源項目中填充: http : //code.google.com/p/and-bookworm/source/browse/trunk/src/com/totsp/bookworm/Main。 Java (請參閱內部BookCursorAdapter
類,它應該使您指向正確的方向)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.