Ошибки Джеффа Шарки в SeparatedListAdapter

1

Я использовал Jeff Sharkey SeparatedListAdapter для добавления заголовков.
Сначала все было в порядке.
Однако, когда я добавил точно такую ​​же строку заголовка, проблема возникла.
Заголовки не отображались правильно, но были недостатки некоторых заголовков.
Эта проблема была решена, когда я изменил ту же строку заголовков.
Но что, если мне нужно использовать те же заголовки строк?
Я думаю, проблема возникла из-за...

public final ArrayAdapter<String> headers;

Спасибо.


Я обнаружил, что это произошло потому, что...

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

Из-за Map, поэтому дубликат строки String вызовет проблему.
Карта не знает, какая из них мне нужна.

Итак, знает ли кто-нибудь другой SeparatedListAdapter, который позволяет мне использовать дублирующий строковый ключ? Или как я могу это исправить?

Спасибо

Теги:

1 ответ

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);
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню