我想知道我是否有这种情况:
Title and Content
。ListView
问题是:我们如何处理onItemClickListener
以便我们可以检索所选项目的Content
,因为项目来自不同的表格?
我想我会遇到这样的问题,我只是想知道它是否可以处理。
感谢。
答案 0 :(得分:2)
我会说使用ArrayAdapter
并将数据包装在一个自定义类中,该类包含它来自的表(如果需要,还可以使用ID等),然后只需知道即可获取ID和表列表中的索引。
该课程可能如下所示:
public static class ListItem {
public String title, table;
// Maybe include these as well?
public String content;
public int id;
@Override
public String toString() {
return title; // Or something else maybe?
}
}
然后只需将游标中的数据构建到ListItem[]
并创建适配器,如下所示:
new ArrayAdapter<ListItem>(data);
此解决方案的一个问题是您需要在内存中加载所有内容,如果有大量数据,您可以创建包含所有四个游标的自定义Cursor
并使用CursorAdapter
代替。
答案 1 :(得分:1)
Nicklas A.提出的解决方案将起到作用。但如果您有相同的项目,为什么要将它们保存在4个不同的表中?如果您的项目相同,则可以将它们保存在signle表中,只需添加一些额外的列以在需要时识别它们。如果您的项目不相同,则为每个项目创建4个模型类,并在每个模型中处理onItemClicked。