Jeff Sharkey的SeparatedListAdapter错误

时间:2011-05-13 19:21:14

标签: android

我使用Jeff Sharkey's SeparatedListAdapter添加标题 一开始,一切都很好 但是,当我添加完全相同的标题字符串时,问题出现了 标题没有正确显示但缺少一些标题 当我更改了标题的相同字符串时,这个问题就解决了 但是如果我需要使用相同的String头呢? 我猜这个问题是因为......

public final ArrayAdapter<String> headers;

感谢。


我发现它发生的原因是......

public final Map<String, Adapter> sections = new LinkedHashMap<String, Adapter>();

由于Map,所以重复的String键会导致问题 地图不知道我需要哪一个。

那么,有没有人知道允许我使用重复的String键的另一个SeparatedListAdapter?或者我该如何解决?

由于

1 个答案:

答案 0 :(得分:2)

我刚刚通过在SeparatedListAdapter类中添加并使用下面的方法来修复它。

 /**
 * If you need to show the duplicate header name, use this method to add
 * section, be sure that the id must be different.
 * CHT 2011/05/14
 * @param id
 *            must differ from each other or problems will happen
 * @param section
 *            header name
 * @param adapter
 */
public void addSection(String id, String section, Adapter adapter) {
    this.headers.add(section);
    this.sections.put(id, adapter);

    // Register an observer so we can call notifyDataSetChanged() when our
    // children adapters are modified, otherwise no change will be visible.
    adapter.registerDataSetObserver(mDataSetObserver);
}