0

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

我阅读了相关的 stackoverflow 网页,但未能正确回答我的问题。

总结一下:

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

如果 SQLite 数据库不为空,则从该 SQLite 数据库中选择一些数据。

  • 创建ListActivity包含这些选择的数据。
  • 创建一个Button
  • 点击Button
  • 单击后,存储在数据库中的所选项目将通过ListActivity.

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

非常感谢。

4

2 回答 2

0

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

于 2013-03-11T21:30:36.467 回答
0

数据是在 SQLite 数据库中还是在内容提供者中?两者是不同的。如果数据在内容提供者中,则使用加载器来检索数据,并将数据绑定到带有 CursorAdapter 的 ListView。请参阅在后台加载数据。此外,您还想从按钮的 onClick 方法初始化加载程序(调用 initLoader())。您可以使用 setOnClickListener() 使用匿名类以编程方式设置它,也可以在 XML 中使用 Button 的 onClick 属性进行设置。

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

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

注意:我总是对 ListView 和适配器感到困惑。ListView 需要两种布局:

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

您通常使用 CursorAdapter 将 Cursor 绑定到 ListView。CursorAdapter 的默认实现假设如下:

  • 光标包含一个名为“_ID”的列
  • 您要显示的光标中的每一列都转到行布局中的一个视图。
  • 无需中间计算或处理即可将数据从光标传输到线布局。

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

于 2013-03-12T00:32:26.857 回答