要設(shè)置RecyclerView中的項不可回收,可以通過設(shè)置RecyclerView.Adapter的getItemViewType()方法來實現(xiàn)。getItemViewType()方法返回的是一個整型值,表示不同類型的項,然后在RecyclerView.Adapter的onCreateViewHolder()方法中根據(jù)不同的類型返回不同的ViewHolder。
具體步驟如下:
@Override
public int getItemViewType(int position) {
if (position == 0) {
return R.id.non_recyclable_item; // 返回一個獨一無二的類型值
} else {
return R.id.recyclable_item; // 返回其他類型值
}
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
if (viewType == R.id.non_recyclable_item) {
View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.non_recyclable_item_layout, parent, false);
return new NonRecyclableViewHolder(itemView);
} else {
View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.recyclable_item_layout, parent, false);
return new RecyclableViewHolder(itemView);
}
}
通過以上步驟,就可以在RecyclerView中設(shè)置不可回收的項。