You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Mar 16, 2024. It is now read-only.
the onCreateHeaderViewHolder override method is not being called however onCreateItemViewHolder is called and working fine
Kindly check my adapter class below
`
public class MenuRecyclerAdapter extends SectioningAdapter {
private Context context;
private ArrayList<Menu> data;
private ArrayList<Section> sections = new ArrayList<>();
public MenuRecyclerAdapter(Context context, ArrayList<Menu> menuList) {
this.context = context;
this.data = menuList;
populateSections();
}
private void populateSections() {
for (int i = 0; i < data.size(); i++) {
appendSection(i, data.get(i).getMenuListArrayList().size());
}
}
private void appendSection(int index, int itemCount) {
Section section = new Section();
section.index = index;
section.copyCount = 0;
section.header = data.get(index).getCategoryName();
for (int j = 0; j < itemCount; j++) {
section.items.add(data.get(index).getMenuListArrayList().get(j).getItemNameEn());
}
sections.add(section);
}
@Override
public ItemViewHolder onCreateItemViewHolder(ViewGroup parent, int itemType) {
LayoutInflater inflater = LayoutInflater.from(parent.getContext());
View v = inflater.inflate(R.layout.menu_item, parent, false);
return new ItemViewHolder(v);
}
@Override
public HeaderViewHolder onCreateHeaderViewHolder(ViewGroup parent, int headerType) {
LayoutInflater inflater = LayoutInflater.from(parent.getContext());
View v = inflater.inflate(R.layout.header_view_sticky_header, parent, false);
return new HeaderViewHolder(v);
}
@Override
public void onBindItemViewHolder(SectioningAdapter.ItemViewHolder viewHolder, int sectionIndex, int itemIndex, int itemType) {
Section s = sections.get(sectionIndex);
ItemViewHolder ivh = (ItemViewHolder) viewHolder;
ivh.txtMenuItemName.setText(s.items.get(itemIndex));
@Override
public void onBindHeaderViewHolder(SectioningAdapter.HeaderViewHolder viewHolder, int sectionIndex, int headerType) {
Section s = sections.get(sectionIndex);
HeaderViewHolder hvh = (HeaderViewHolder) viewHolder;
Did you override doesSectionHaveHeader function of SectioningAdapter.
/**
* @param sectionIndex index of the section in question
* @return true if this section has a header
*/
public boolean doesSectionHaveHeader(int sectionIndex) {
return false;
}
Sign up for freeto subscribe to this conversation on GitHub.
Already have an account?
Sign in.
the onCreateHeaderViewHolder override method is not being called however onCreateItemViewHolder is called and working fine
Kindly check my adapter class below
`
public class MenuRecyclerAdapter extends SectioningAdapter {
// ivh.adapterPositionTextView.setText(Integer.toString(getAdapterPositionForSectionItem(sectionIndex, itemIndex)));
}
// hvh.adapterPositionTextView.setText(Integer.toString(getAdapterPositionForSectionHeader(sectionIndex)));
// if (USE_DEBUG_APPEARANCE) {
// hvh.textView.setText(pad(sectionIndex * 2) + s.header);
// viewHolder.itemView.setBackgroundColor(0x55FF9999);
// } else {
hvh.txtHeader.setText(s.header);
// }
// hvh.updateSectionCollapseToggle(isSectionCollapsed(sectionIndex));
}
}
`
The text was updated successfully, but these errors were encountered: