Android多个SimpleCursorAdapter

| 我正在开发一个可与SQLite数据库配合使用的小应用程序...我正在显示取决于优先级的图片(绿色,黄色或红色)。 我有3个优先级(高,中和低...),并且我得到的光标如下:
cursorh = dbAdapter.fetchAllHighPrio();
cursorm = dbAdapter.fetchAllMedPrio();
cursorl = dbAdapter.fetchAllLowPrio();
然后,我正在调用其他一些类似的内容:
startManagingCursor(cursorh);
startManagingCursor(cursorm);
startManagingCursor(cursorl);

String[] from = new String[] { TodoDbAdapter.KEY_SUMMARY };
int[] to = new int[] { R.id.label };

SimpleCursorAdapter noteh = new SimpleCursorAdapter(this,
        R.layout.todo_row_high, cursorh, from, to);
SimpleCursorAdapter notem = new SimpleCursorAdapter(this,
        R.layout.todo_row_med, cursorm, from, to);
SimpleCursorAdapter notel = new SimpleCursorAdapter(this,
        R.layout.todo_row_low, cursorl, from, to);
因此,我准备将所有东西显示在列表中...但是,如果我使用setListAdapter,则只能使用其中之一。因为我有3种不同的布局,并且光标不同,所以这确实很难做到。 我如何才能将所有这3个SimpleCursorAdapters显示在我的列表中? 编辑:也许我还不够清楚...所有这些数据都只在一个表中...但是由于我有3种不同的布局(由于不同的优先级颜色),我需要分别添加它们...或是否有任何用另一种方式说,例如,如果优先级等于\'high \',则将此图像放到布局中,因此我只需要一个SimpleCursorAdapter?     
已邀请:
您可以创建一个VIEW,该VIEW将合并所有3个表中的数据+一个额外的列,以告诉该数据来自哪个表。然后,您从中查询并在自定义“ 3”中返回适当的行“ 2”。     
据我所知,您将无法在一个ListView上附加多个适配器。不幸的是,我认为您可能需要以一些不同的方式来解决这个问题。 您可以使用一个适配器,并确保在数据库查询中排序正确。 您可以创建一个适配器并遍历每个光标,将项目添加到该单个适配器(可能不是游标适配器,而更像是ArrayAdapter)。 我想,您可以使用LinearLayout,将3个ListView加权为1,并且一次在屏幕上具有3个单独的滚动列表... 根据您实际希望应用程序如何工作,可能有几种不同的方法。     

要回复问题请先登录注册