android ListActivity按钮

时间:2013-03-11 21:23:57

标签: android listview android-listview

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

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

总结:

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

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

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

我想知道你是否可以帮助我。

非常感谢。

2 个答案:

答案 0 :(得分:0)

如果您正在寻找的是如何更新listview,可能会尝试在listview适配器上调用notifyDataSetChanged。

答案 1 :(得分:0)

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

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

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

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

  1. 描述整个屏幕的布局,包括ListView视图对象。
  2. 描述列表中每行或项目布局的布局。
  3. 您通常使用CursorAdapter将Cursor绑定到ListView。 CursorAdapter的默认实现假设如下:

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

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