我可以将同一数据库的不同表中的数据添加到Android中ListView的每一行吗?

时间:2011-02-07 20:38:24

标签: android sqlite listview

我可以将同一数据库的不同表中的数据添加到Android中ListView的每一行吗?

我有一个供应商应用程序,我想将一个标准项目列表和一个每日表格中的数据添加到列表视图中。

2 个答案:

答案 0 :(得分:0)

如果两个表具有相同的行格式(或者至少从两个表中选择相同类型的行),则可以使用UNION将它们组合到单个查询中。有关UNION的更多信息,请参阅sqlite select query documentation

答案 1 :(得分:0)

我认为你的意思是查询加入了两个不同的表;那是对的吗?

如果您使用的是SimpleCursorAdapter,则可以使用CursorToStringConverter为ListView提供标签。这是一个例子:

    // choices to be displayed in the AutoCompleteTextView.
    adapter.setCursorToStringConverter(new CursorToStringConverter() {
        public String convertToString(android.database.Cursor cursor) {
            final int columnIndex1 = cursor.getColumnIndexOrThrow("col1");
            final String str1 = cursor.getString(columnIndex1);
            final int columnIndex2 = cursor.getColumnIndexOrThrow("col2");
            final String str2 = cursor.getString(columnIndex2);
            return str1 + str2;
        }
    });

如果您希望将每个表中的数据显示在单独的视图中(而不是在单个TextView中),则可以使用SimpleCursorAdapter.ViewBinder更新视图。 (ViewBinder的Here's an example。我写这个是为了使用Spinner,但它与ListView的工作方式相同。)