Recyclerview与不同类型

时间:2016-11-15 02:58:35

标签: java android android-recyclerview

大家好,我正在尝试使用不同的集合填充RecyclverView。例如,我有2个列表可以说客户列表和供应商列表。

我想要实现的目标是:

  • 客户标题
  • 客户1

  • 客户2

  • 供应商标题
  • 供应商1

  • 供应商2

这可能吗?谢谢。
对不起我的英文

2 个答案:

答案 0 :(得分:1)

可以使用RecyclerView执行此操作,您应该覆盖getItemViewType()方法。

像这样:

private class CustomAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {

    private static final int TYPE_1 = 1;
    private static final int TYPE_2 = 2;
    private static final int TYPE_3 = 3;
    // more types...

    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        switch (viewType) {
            case TYPE_1:
                break;
            case TYPE_2:
                break;
            case TYPE_3:
                break;
        }
    }

    @Override
    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
        switch (getItemViewType(position)) {
            case TYPE_1:
                break;
            case TYPE_2:
                break;
            case TYPE_3:
                break;
        }
    }

    @Override
    public int getItemViewType(int position) {
        if(position == 1) {
            return TYPE_1;
        } else if(position == 2) {
            return TYPE_2;
        } else 
            return TYPE_3
    }

    @Override
    public int getItemCount() {
        return 10;
    }
}

答案 1 :(得分:1)