我正在使用Jeff Sharkey's SeparatedListAdapter添加标题。
起初,一切都很好。
但是,当我添加标题的完全相同的String时,出现了问题。
标头显示不正确,但缺少一些标头。
当我更改标题的相同String时,此问题已解决。
但是,如果我需要使用相同的String标头,该怎么办?
我猜是因为...

public final ArrayAdapter<String> headers;


谢谢。



我发现这是因为...

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


因为有Map,所以重复的String键会引起问题。
该地图不知道我需要哪一个。

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

谢谢

最佳答案

我只是通过在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);
}

关于android - Jeff Sharkey的SeparatedListAdapter错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5996730/

10-12 05:52