Android:FastScrolling SectionIndexer getSections()只被调用一次

时间:2012-07-24 20:08:39

标签: java android listview scroll

我创建了一个使用ListView的{​​{1}}。 (见图)当用户点击以下任何按钮(即所有曲目,艺术家,专辑)时,每次调用以下自定义ArrayAdater时

FastScroll

并更新相同的ListView。

enter image description here

问题:根据我在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()

1 个答案:

答案 0 :(得分:2)

似乎最新的FastScroll版本没有这个问题。但是,在你的情况下,有转机。将适配器设置为ListView时,禁用并启用快速滚动。请参阅以下代码:

            adapter = new ScrollIndexListAdapter(this, data);
            listView.setFastScrollEnabled(false);
            listView.setAdapter(adapter);
            listView.setFastScrollEnabled(true);