Я использовал Jeff Sharkey SeparatedListAdapter для добавления заголовков.
Сначала все было в порядке.
Однако, когда я добавил точно такую же строку заголовка, проблема возникла.
Заголовки не отображались правильно, но были недостатки некоторых заголовков.
Эта проблема была решена, когда я изменил ту же строку заголовков.
Но что, если мне нужно использовать те же заголовки строк?
Я думаю, проблема возникла из-за...
public final ArrayAdapter<String> headers;
Спасибо.
Я обнаружил, что это произошло потому, что...
public final Map<String, Adapter> sections = new LinkedHashMap<String, Adapter>();
Из-за Map, поэтому дубликат строки String вызовет проблему.
Карта не знает, какая из них мне нужна.
Итак, знает ли кто-нибудь другой SeparatedListAdapter, который позволяет мне использовать дублирующий строковый ключ? Или как я могу это исправить?
Спасибо
Я просто исправил это, добавив и используя метод ниже в класс 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);
}