使用两种视图类型,我的回收者视图可以显示标题内容和主要内容。我不知道在适配器中组织这两种方法的最佳方法是什么,因此无法控制首先出现的视图。我当前的问题是在主要内容之前有标题。每当我的标题显示在底部时,它都将失效。
//Declaration
private static final int HEADER = 0;
private static final int TOP_PICKS = 1;
//getViewtype
@Override
public int getItemViewType(int position) {
if (position < mMainContentList.size()) {
return MAIN_CONTENT;
}
return HEADER;
}
//getItemCount
@Override
public int getItemCount() {
if (mHeaderItems == null) {
return mMainContentList.size();
} else {
return mMainContentList.size() + 1;
}
}
What am I missing?
答案 0 :(得分:1)
尝试这样
@Override
public int getItemViewType(int position) {
if (position == 0) {
return HEADER;
}
return MAIN_CONTENT;
}
@Override
public int getItemCount() {
if (mHeaderItems == null) {
return mMainContentList.size();
} else {
return mMainContentList.size() + 1;
}
}
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup pParent, int viewType) {
LayoutInflater lLayoutInflater = LayoutInflater.from(pParent.getContext());
switch (viewType) {
case HEADER:
// inflate header view
break;
case MAIN_CONTENT:
// inflate main content view
break;
default:
// inflate main content view
}
}