我创建了一个使用ListView
的{{1}}。 (见图)当用户点击以下任何按钮(即所有曲目,艺术家,专辑)时,每次调用以下自定义ArrayAdater时
FastScroll
并更新相同的ListView。
问题:根据我在Android中的调查,ArrayAdapter<String> adapter = new ScrollIndexListAdapter(Listing.this, elements);
//Code for ScrollIndexListAdapter is below
方法只调用一次(即仅在调用第一个时间ScrollIndexListAdapter时)。< / p>
这次填充了部分&amp; fastScrolling工作得很好。
但是当我通过点击Artists / Album更新ListView时,不会调用getSections()
方法。因此使用较旧的部分,FastScrolling仍然显示旧字母的预览。
那么,每次更新ListView时如何让部分更新?
有一种getSections()
方法,但我无法找到如何使用它。
ScrollIndexListAdapter类的代码:
setSections()
答案 0 :(得分:2)
似乎最新的FastScroll版本没有这个问题。但是,在你的情况下,有转机。将适配器设置为ListView时,禁用并启用快速滚动。请参阅以下代码:
adapter = new ScrollIndexListAdapter(this, data);
listView.setFastScrollEnabled(false);
listView.setAdapter(adapter);
listView.setFastScrollEnabled(true);