我正在尝试从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天时间试图找到解决方案,然后再向这里提问。非常感谢您提供的任何帮助。
答案 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)