[英]How to build a custom horizontal recycler view like Play Store in Android?
position <n
(n:你想要在開始時清空的項目數)時,不要加載任何圖像並將其留空。 當它詢問getItemCount()
中的數據大小時,返回your data size + n
。public class MyAdapter extends RecyclerView.Adapter<MyViewHolder>{
...
private final int N =2 ;
@Override
public PageViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {...}
@Override
public void onBindViewHolder(@NonNull PageViewHolder holder, int position) {
if(position <N)return ;
else {
// bind your holder with data
}
}
@Override
public int getItemCount() {
return pageEntities.size() +N;
}
}
getItemViewType
和返回值來使用視圖類型值,該值指示您是否希望此視圖持有者為空或具有不同於常規視圖持有者的其他行為。public class MyAdapter extends RecyclerView.Adapter<MyViewHolder>{
...
private final int N =2 ;
@Override
public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View v ;
if(viewType ==0){
v = LayoutInflater.from(context).inflate(R.layout.view_holder_item_1, parent, false);
}else {
v = LayoutInflater.from(context).inflate(R.layout.view_holder_item_2, parent, false);
}
return new new MyViewHolder(v.getRootView()) ;
}
@Override
public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
if(position <N){
// bind your holder view of type 1 with data you want
}
else {
// bind your holder view of type 2 with data you want
}
}
@Override
public int getItemCount() {
return pageEntities.size() +N;
}
@Override
public int getItemViewType(int position) {
return position <N ?0:1 ;
}
}
在這種情況下,您的類型 1 將是空視圖持有者。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.