Recyclerview (gridview) с секционным индексатором - PullRequest
0 голосов
/ 23 мая 2018

Мне нужна помощь, чтобы отобразить мое представление о переработчике, которое находится в виде сетки, для отображения разделителя индекса (indexinxer) слева и справа по вертикали просмотра переработчика.Обратите внимание, что мне не нужна функция быстрой прокрутки.Мне просто нужно отобразить индексаторы.Посмотрите мой пример попытки его отображения ниже:

  public class CustomAdapter extends RecyclerView.Adapter<CustomAdapter.ViewHolder> implements SectionIndexer {


private String[] alphabet = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K",
        "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"};
private List<String> mDataArray = Arrays. asList(alphabet);
private ArrayList<Integer> mSectionPositions;

@Override
public int getSectionForPosition(int position) {
    return 0;
}

@Override
public Object[] getSections() {
    List<String> sections = new ArrayList<>(26);
    mSectionPositions = new ArrayList<>(26);
    for (int i = 0, size = mDataArray.size(); i < size; i++) {
        String section = String.valueOf(mDataArray.get(i).charAt(0)).toUpperCase();
        if (!sections.contains(section)) {
            sections.add(section);
            mSectionPositions.add(i);
        }
    }
    return sections.toArray(new String[0]);
}

@Override
public int getPositionForSection(int sectionIndex) {
    return mSectionPositions.get(sectionIndex);
}

И просмотр:

<com.example.admin.widget.CustomRecyclerView
            android:paddingLeft="5dp"
            android:paddingStart="5dp"
            android:paddingRight="5dp"
            android:paddingEnd="5dp"
            android:id="@+id/recyclerView"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />

Когда я запускаю приложение, оно ничего не отображает.Мне нужно выяснить, что не так с кодом.Буду признателен за помощь в любом случае.Спасибо!

...