当用户首次加载listview时,它会从sqlitedb中提取日期列并填充列表。当他们点击日期时,我将该日期放在变量中。然后我想显示一个数组中的项目列表。然后当他们点击其中一个项目时,它再次从sqlitedb中提取数据并填充。
初始列表视图:
12-2010
01-2011
03-2011
04-2011
点击任意日期,设置mDate =点击项目
更改列表视图以显示数组中的内容,然后看起来像
选项1
选项2
备选方案3
选项4
单击选项,设置mOption =单击项目
更改listview以根据db。中的mOption提取数据。
我知道如何让listview从每个源中获取信息,我不清楚,是处理这些适配器开关的最佳方法。有什么建议吗?
答案 0 :(得分:5)
有两种选择。您可以拥有多个ListView
,每个ListView
都有自己的适配器,您可以切换它们,或者您可以将多个适配器设置为ListView
。我个人会选择选项1,因此您可以将ViewSwitcher
放入{{1}}并为转场设置动画。
答案 1 :(得分:0)
如果数据随时可能发生变化,我认为最便宜,最可重复使用的方式是:
public void updateContents (ListView lv, List<String> list) {
ArrayAdapter<String> myAdapter = lv.getAdapter();
myAdapter.clear();
myAdapter.AddAll (list);
lv.setAdapter(myAdapter);
}
但是,这仅适用于Android 4.0或更高版本。 2.3及更低版本不支持ArrayAdapter.AddAll(object);