我使用Jeff Sharkey's SeparatedListAdapter添加标题 一开始,一切都很好 但是,当我添加完全相同的标题字符串时,问题出现了 标题没有正确显示但缺少一些标题 当我更改了标题的相同字符串时,这个问题就解决了 但是如果我需要使用相同的String头呢? 我猜这个问题是因为......
public final ArrayAdapter<String> headers;
感谢。
我发现它发生的原因是......
public final Map<String, Adapter> sections = new LinkedHashMap<String, Adapter>();
由于Map,所以重复的String键会导致问题
地图不知道我需要哪一个。
那么,有没有人知道允许我使用重复的String键的另一个SeparatedListAdapter?或者我该如何解决?
由于
答案 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);
}