RecyclerView에서 머리글 및 바닥글 구현
문제:
머리글 또는 바닥글 추가 RecyclerView는 어려울 수 있습니다. 제공된 코드에서는 addView(View view, int position)를 사용하여 LinearLayoutManager에 뷰를 추가할 것을 제안했지만 이 접근 방식은 성공하지 못했고 NullPointerException이 발생했습니다.
해결책:
바닥글 추가
RecyclerView에 바닥글을 추가하려면 다음 단계를 따르세요.
바닥글 어댑터 예:
public class FooterViewHolder extends RecyclerView.ViewHolder { public FooterViewHolder(View itemView) { super(itemView); } } public class RecyclerViewWithFooterAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { private static final int FOOTER_VIEW = 1; private List<String> data; @Override public int getItemCount() { return data == null ? 0 : data.size() + 1; } @Override public int getItemViewType(int position) { return position == data.size() ? FOOTER_VIEW : super.getItemViewType(position); } @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View v; if (viewType == FOOTER_VIEW) { v = LayoutInflater.from(context).inflate(R.layout.list_item_footer, parent, false); return new FooterViewHolder(v); } v = LayoutInflater.from(context).inflate(R.layout.list_item_normal, parent, false); return new NormalViewHolder(v); } @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { if (holder instanceof FooterViewHolder) { FooterViewHolder vh = (FooterViewHolder) holder; } else { NormalViewHolder vh = (NormalViewHolder) holder; vh.bindView(position); } } }
머리글 추가
RecyclerView에 헤더를 추가하는 과정은 비슷한 프로세스를 따릅니다.
추가 참고:
위 내용은 NullPointerException을 발생시키지 않고 RecyclerView에 머리글과 바닥글을 어떻게 추가합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!