首页 > 解决方案 > 带有 sectionindexer 的 Recyclerview (gridview)

问题描述

我需要帮助显示我在gridview 中的recyclerview,以在recyclerview 的左侧和右侧垂直显示sectionindexer(alphabetindexer)。请注意,我不需要快速滚动功能。我只需要显示索引器。请参阅我在下面显示它的示例尝试:

  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" />

当我运行该应用程序时,它不显示任何内容。我需要弄清楚代码有什么问题。我将不胜感激以任何方式提供帮助。谢谢!

标签: javaandroidandroid-recyclerviewandroid-gridview

解决方案


推荐阅读