从List中填充自定义列表视图,而不是ArrayList

时间:2014-04-05 17:52:20

标签: java android listview android-listview

我正在尝试从List填充自定义Android ListView。我正在使用糖ORM来保存并从数据库中获取数据。在我的Activity中,我使用以下2行来获取数据,并将其放在一个简单的列表视图中。

    List<Fish> fishList = Select.from(Fish.class).orderBy("species").list();
    setListAdapter(new ArrayAdapter<Fish>(this,android.R.layout.simple_list_item_1, fishList));

这可以按预期工作,并显示Fish类中的getString()方法。

我找到的用于填充自定义列表视图的每个方法都使用ArrayList,但fishList只是一个List。我已经尝试了4到5个教程,但它们都很简短。大多数只是描述手动填充列表,但如果我已经拥有数据库中的数据,则不会如何操作。

我已经设置了ArrayAdapter类,并且在某一点上它可以将最新对象加载到列表中。我怀疑需要某种循环,但经过几个小时的尝试后无法恢复工作。

有没有办法使用我的List填充自定义列表视图,或者我是否需要以某种方式将其转换为ArrayList,如果是这样,我该如何为列表中的所有项目执行此操作?

我可以替换第一行,以便从数据库中获取数据并立即将其放入ArrayList中吗?

我很抱歉,如果这很简单(我确定是这样),但我花了4天时间试图找到解决方案,然后再向这里提问。非常感谢您提供的任何帮助。

2 个答案:

答案 0 :(得分:2)

在这里找到我需要的内容:ListView Populating using Custom Class

在我的onCreate()中             adapter = new ListAdapter(this);

    listView = getListView();

    List<Fish> fishList = Select.from(Fish.class).orderBy("species").list();  //get data from database  (SugarORM)
    adapter.setData(fishList);
    listView.setAdapter(adapter);

答案 1 :(得分:0)