Можно ли использовать SectionIndexer
с GridView
в Android? Быстрая прокрутка работает нормально, и я использую пользовательский адаптер, который расширяет BaseAdapter
. Адаптер в настоящее время реализует SectionIndexer
и, по-видимому, идентичен примерам, показанным онлайн, и по переполнению стека. Это заставило меня подумать, что это возможно даже с GridView
и пользовательским адаптером.РазделIndexer с GridView в Android
3
A
ответ
3
static class YOUR_ADAPTER extends SimpleCursorAdapter implements SectionIndexer {
private AlphabetIndexer mIndexer;
YOUR_ADAPTER (Context context, AlbumBrowserActivity currentactivity,
int layout, Cursor cursor, String[] from, int[] to) {
super(context, layout, cursor, from, to);
getColumnIndices(cursor);
}
private void getColumnIndices(Cursor cursor) {
if (cursor != null) {
YOUR_COLUMN = cursor.getColumnIndexOrThrow(WHAT_YOU'RE_SORTING);
if (mIndexer != null) {
mIndexer.setCursor(cursor);
} else {
mIndexer = new AlphabetIndexer(cursor, YOUR_COLUMN, mResources.getString(
R.string.fast_scroll_alphabet));
}
}
}
@Override
public Object[] getSections() {
return mIndexer.getSections();
}
@Override
public int getPositionForSection(int section) {
return mIndexer.getPositionForSection(section);
}
@Override
public int getSectionForPosition(int position) {
return 0;
}
}
fast_scroll_alphabet String
<string name="fast_scroll_alphabet">\u0020ABCDEFGHIJKLMNOPQRSTUVWXYZ</string>
Это простой пример, но не намного больше, чем это. Реализация SectionIndexer
довольно проста.
+0
Мне не хватало AlphabetIndexer :-) –
Конечно, это возможно, если вы используете «Курсор» для сортировки ваших данных. – adneal
Я не использую курсор. Я сохранил его в ArrayList, но, полагаю, я могу изменить его на Курсор. Получил пример с помощью курсора? –
лучший образец https://github.com/guoGavin/Andorid-StickyHeaderGridView –