关于在ListView上显示的高效查询

时间:2012-04-23 07:11:35

标签: android sql sqlite listview

我是SQL的初学者。 我想在Android listview上显示sqlite数据。该表具有以下结构。

| _id | name | data | ...
---------------------
|   0 |   A  |  abc |
|   1 |   B  |  def |
|   2 |   C  |  ghi | ...
|   3 |   D  |  jkl |
|   4 |   E  |  mno |

因此,当用户输入[C,B,D]时,我想以用户的顺序显示名称和数据列。 例如,

的ListView

---------------------
     C     ghi
---------------------
     B     def
---------------------
     D     jkl
---------------------

我现在正在使用ArrayAdapter和CursorAdapter之间徘徊。

我应该做SELECT 3次,将值存储在数组中,并使用ArrayAdapter吗?或者,可以用SELECT满足我的要求吗?

提前致谢。

2 个答案:

答案 0 :(得分:1)

它会有点复杂,但可以在一个查询中完成。

SELECT * FROM yourTable
ORDER BY 
  CASE name
    WHEN 'C' THEN 0
    WHEN 'B' THEN 1
    WHEN 'D' THEN 2
  END

您必须根据用户的课程输入构建查询 。 Look more here

答案 1 :(得分:0)

您可以使用SELECT查询来满足您的需求。您的查询将如下所示:

String query = "SELECT * FROM yourTable WHERE name IN ('C', 'B', 'D');"