簡體   English   中英

帶一個按鈕的RecyclerView

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM