2010-11-21 63 views
0

我的应用使用简单的SQLite数据库。一切正常,现在我可以选定一行从返回查询中使用呈现ToastAndroid使用光标填充列表视图

{ 
    //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();   
} 

我想用一个视图prsent在光标移动到屏幕上的所有数据,但我不知道如何去对这个。我应该使用哪种视图?我刚刚看了一个简单的网格表示,它允许我滚动光标中的每一行

在此先感谢。

回答

2

如何显示光标中的所有行?

有几种方法,如果您使用的是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参数。去你的代码,身份证,注册和类型。通常列0是一个数字ID(不是getString,但SQLite使用“清单输入”,因此它将排序dyna-type从第0列开始的字符串/长整数 - 您可能想要AUTOINCREMENT并使用getLong)。

你有一个项目的集合,你可以做任何你想与他们展示他们。如果你想要一个滚动/可选列表,那么ListView是一个很好的选择。而且,你可以用CursorAdapter来支持它。

下面是由CursorAdapter从一个开源项目填充的ListView的例子:http://code.google.com/p/and-bookworm/source/browse/trunk/src/com/totsp/bookworm/Main.java(见内BookCursorAdapter类,它应该让你在正确的方向)。

+0

我已经有一个方法来填充表中的所有行的游标,我所要求的是如何将其呈现给屏幕。我想使用视图将光标中的所有数据显示在屏幕上。对不起,如果我不是很清楚! – brux 2010-11-21 14:05:43

+0

我更新了问题后更新了答案;)。如果你想要一个简单的可滚动“网格”,并且你已经有了Cursor,那么ListView/CursorAdapter就是票证。 – 2010-11-21 14:15:26

+0

谢谢你的链接即时通讯看看 – brux 2010-11-21 14:18:04