在回收者视图中组织两种视图类型

时间:2019-07-02 07:56:40

标签: java android android-recyclerview recycler-adapter

使用两种视图类型,我的回收者视图可以显示标题内容和主要内容。我不知道在适配器中组织这两种方法的最佳方法是什么,因此无法控制首先出现的视图。我当前的问题是在主要内容之前有标题。每当我的标题显示在底部时,它都将失效。

//Declaration
    private static final int HEADER = 0;
    private static final int TOP_PICKS = 1;


//getViewtype

    @Override
    public int getItemViewType(int position) {
        if (position < mMainContentList.size()) {
            return MAIN_CONTENT;
        }
        return HEADER;

    }
//getItemCount

    @Override
    public int getItemCount() {


        if (mHeaderItems == null) {
            return mMainContentList.size();
        } else {
            return mMainContentList.size() + 1;
        }


    }

What am I missing?

1 个答案:

答案 0 :(得分:1)

尝试这样

@Override
    public int getItemViewType(int position) {
        if (position == 0) {
            return HEADER;
        }
        return MAIN_CONTENT;
    }

@Override
    public int getItemCount() {

        if (mHeaderItems == null) {
            return mMainContentList.size();
        } else {
            return mMainContentList.size() + 1;
        }

    }

 @Override
  public ViewHolder onCreateViewHolder(@NonNull ViewGroup pParent, int viewType) {
    LayoutInflater lLayoutInflater = LayoutInflater.from(pParent.getContext());
    switch (viewType) {
      case HEADER:
        // inflate header view
          break;
      case MAIN_CONTENT:
           // inflate main content view
        break;

      default:
         // inflate main content view
    }
  }