带有recylerview的粘滞式标题

时间:2017-08-18 12:34:50

标签: android android-recyclerview android-coordinatorlayout

enter image description here

我已经使用RecyclerView实现了粘性标头。现在我想在RecyclerView上面添加一个textview和一个imageview,同时滚动粘贴标题工作正常,textview应该在上面滚动,它应该不可见。

1 个答案:

答案 0 :(得分:0)

    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

        if (viewType == TYPE_ITEM) {
            //Inflating recycle view item layout
            View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.headerview, parent, false);
            return new ItemViewHolder(itemView);
        } else if (viewType == TYPE_HEADER) {
            //Inflating header view
            View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_item, parent, false);
            return new HeaderViewHolder(itemView);
        } else return null;


    }

    @Override
    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {


        if (holder instanceof HeaderViewHolder) {
            HeaderViewHolder headerHolder = (HeaderViewHolder) holder;



        } else if (holder instanceof ItemViewHolder) {

            ItemViewHolder itemholder = (ItemViewHolder) holder;
            }
    }

    @Override
    public int getItemCount() {

        return contactVOList.size();
    }

    @Override
    public int getItemViewType(int position) {
        if (position == 0) {
            return TYPE_HEADER;
        }
        return TYPE_ITEM;
    }

    private class HeaderViewHolder extends RecyclerView.ViewHolder {



        public HeaderViewHolder(View view) {
            super(view);


            layout = (RelativeLayout) view.findViewById(R.id.layout);

        }
    }

    private class ItemViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {

        TextView name;
        ImageView icon;

        public ItemViewHolder(View itemView) {
            super(itemView);
            itemView.setOnClickListener(this);
            name = (TextView) itemView.findViewById(R.id.name);
            icon = (ImageView) itemView.findViewById(R.id.icon);

        }

        @Override
        public void onClick(View v) {

            Context context = itemView.getContext();
            int position = getAdapterPosition();

        }
    }

}