代码之家  ›  专栏  ›  技术社区  ›  wajiw

需要高效的数据映射在Android /Java中进行ListVIEW钻孔的例子

  •  1
  • wajiw  · 技术社区  · 14 年前

    我对Java编程很陌生,我正在寻找基本的数据映射。我有一个具有如下简单数据数组设置的ListView对象:

    setListAdapter(new ArrayAdapter<String>(this, R.layout.my_list_xml, MY_DATA));
    

    我想发生的是当你点击一个项目,它会进入它的子类别。我不担心在单击项目时切换数据。我只是不知道如何使用Android以有效的方式创建数据集。最终,这将由一个数据库驱动,但我想知道如何首先使用模拟数据来实现这一点。我需要的数据结构示例如下:

    myData = { 'category1' => 
                { 'subcategory1' => 'subcategorydetail1', 
                  'subcategory2' => 'subcategorydetail2'},
               'category2' => 
                { 'subcategory3' => 'subcategorydetail3', 
                  'subcategory4' => 'subcategorydetail4'}
           }
    

    我希望能够像mydata['category2']或mydata['category2'][子类别3']那样访问它

    我应该在XML文件中创建它并将它们链接起来,还是最好为它创建一个新的类结构?

    谢谢你的帮助!

    1 回复  |  直到 14 年前
        1
  •  1
  •   Zsombor Erdődy-Nagy    14 年前

    如果最终这个应用程序将显示本地sqlite数据库中的数据,那么我认为您最好设计这些DB模式,用模拟数据填充生成的表,然后使用它。原因是,您应该编写自定义的CursorAdapter类,用来自数据库(来自光标)的数据填充ListView,这些类与扩展BaseAdapter的适配器有点不同,如果用公共对象填充这些列表,就必须使用这些适配器。

    通过这种方式,您可以避免将数据从数据库映射到对象这一单调乏味的任务——这取决于您希望如何处理这些数据。