[英]RecyclerView with a Button inside
我需要創建這樣的布局:
帶有圖片和按鈕的布局
我不知道該怎么做。 我用不同的項目創建了RecyclerViews,但是有一些共同點(例如圖片,視頻,它們都可以看作是Media類型)。 在這種情況下,第一項是一個按鈕(或充當按鈕的圖像),而其他項只是圖片,因此我無法將所有它們都放在適配器的單個列表中,因為它們不代表相同的邏輯。 一個想法是在位置0放置另一個對象,該對象指示應將其創建為按鈕,並在該位置之后放置圖像列表,但是然后我需要處理這些項目不在位置i而是在位置i +1,所以我不喜歡這種解決方案。 有任何“干凈”的方法可以做到這一點嗎?
您可以像這樣在RecyclerView適配器中覆蓋getItemViewType()和onCreateViewHolder()函數:
public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
private static final int VIEW_TYPE_1 = 1, VIEW_TYPE_2 = 2;
@Override
public int getItemViewType(int position) {
if (position == 0){
return VIEW_TYPE_1;
}else{
return VIEW_TYPE_2;
}
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
switch (viewType){
case VIEW_TYPE_1:
// inflate the view with button
break;
case VIEW_TYPE_2:
// inflate the view with image
break;
}
return holder;
}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
switch (holder.getItemViewType()){
case VIEW_TYPE_1:
//set the viewholder for view type 1
break;
case VIEW_TYPE_2:
//set the viewholder for view type 2
break;
}
}
您必須為每種視圖類型創建一個ViewHolder。
希望這可以幫到你
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.