2013-03-11 57 views
0

我有一个Android开发问题,似乎超出了我目前的技能水平。问题如下:我有一个SQLite数据库和一个内容提供者。简单地说,点击一个按钮后,我想通过ListActivity(或者可能是ListView)在屏幕上看到屏幕上显示的一些存储项目,但我不知道该怎么做。android ListActivity Button

我阅读了相关的stackoverflow网页,但我没有适当地回答我的问题。

总结:

假设一个SQLite数据库已经被创建。

如果SQLite数据库不是空的,从这个SQLite数据库中选择一些数据。

  • 创建ListActivity包含这些选择的数据。
  • 创建Button
  • 点击Button
  • 一旦点击,存储在数据库中所选择的项目是通过一个ListActivity显示 。

我想知道你能不能帮我一把。

非常感谢。

回答

0

如果你正在寻找的只是如何更新列表视图,也许尝试查看调用listview适配器上的notifyDataSetChanged。

0

数据是在SQLite数据库还是在内容提供者中?两者不同。如果数据位于内容提供者中,则使用加载器来检索数据,并使用CursorAdapter将数据绑定到ListView。见Loading Data in the Background。此外,您想要从按钮的onClick方法初始化加载器(调用initLoader()) 。您可以使用setOnClickListener()方法通过匿名类以编程方式进行设置,也可以在XML中以Button的onClick属性进行设置。

CursorLoader的优点是它的包括数据观察。当支持Cursor的数据发生变化时,CursorLoader会自动调用onLoaderReset,然后调用onCreateLoader。这在我提供的链接中有更详细的解释。

API指南List View解释了将ListView绑定到Cursor并使用Loader的步骤。

注意:我总是被ListView和适配器弄糊涂了。一个ListView需要布局:

  1. 描述整个屏幕,包括ListView的查看对象的布局。
  2. 用于描述列表中每行或项目布局的布局。

您通常会将Cursor绑定到带有CursorAdapter的ListView。CursorAdapter的的默认实现假定:

  • 光标包含一个名为“_ID”
  • 要显示在游标中的每一列变为行布局一个视图列。
  • 数据可以从光标传输到行布局,无需中间计算或处理。

您不必显示游标中的所有列,但行布局中的每个视图对象只能占用一列。