RecyclerView 的学习

来源:互联网 发布:陕西广电网络校园招聘 编辑:程序博客网 时间:2024/06/05 08:18
RecyclerView.LayoutManager layoutManager=new LinearLayoutManager(getActivity(),LinearLayoutManager.VERTICAL,false);
        mLv_home_list.setLayoutManager(layoutManager);
        if(mListAdapter==null){
            mListAdapter = new HomeListAdapter(getActivity(),homeListInfos);
        }
        mLv_home_list.setAdapter(mListAdapter);
        mListAdapter.setOnItemSelectedListener(new HomeListAdapter.OnItemSelectorListener() {
            @Override
            public void onItemSelecte(int position) {
                //   条目点击事件
            }

        });


设置  Adapter


package com.vily.myfirstapp.adapter;


import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;


import com.lidroid.xutils.BitmapUtils;
import com.vily.myfirstapp.R;
import com.vily.myfirstapp.bean.HomeListInfo;


import java.util.List;


/**
 * description :
 * user : Administrator
 * Created by Administrator on 2017\11\27 0027.
 */


public class HomeListAdapter extends RecyclerView.Adapter {
    private List<HomeListInfo> mHomeLists;
    private Context mContext;
    private final BitmapUtils mBitmapUtils;


    public HomeListAdapter(Context context,List<HomeListInfo> homeLists) {
        this.mHomeLists=homeLists;
        this.mContext=context;
        mBitmapUtils = new BitmapUtils(context);
    }


    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = View.inflate(mContext, R.layout.home_list_item, null);
        MyViewHoler myViewHoler = new MyViewHoler(view);
        return myViewHoler;
    }


    @Override
    public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) {
        MyViewHoler myViewHoler = (MyViewHoler) holder;
        myViewHoler.setData(position);
        myViewHoler.itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if(mOnItemSelectorListener!=null){
                    mOnItemSelectorListener.onItemSelecte(position);
                }
            }
        });




    }


    @Override
    public int getItemCount() {
        return mHomeLists.size();
    }
    public class MyViewHoler extends RecyclerView.ViewHolder{


        private final TextView mTv_list_title;
        private final ImageView mIv_list_one,iv_list_two,iv_list_three;


        public MyViewHoler(View itemView) {
            super(itemView);


            mTv_list_title = (TextView) itemView.findViewById(R.id.tv_list_title);
            mIv_list_one = (ImageView) itemView.findViewById(R.id.iv_list_one);
            iv_list_two= (ImageView) itemView.findViewById(R.id.iv_list_two);
            iv_list_three= (ImageView) itemView.findViewById(R.id.iv_list_three);
        }
        public void setData(int position){
            HomeListInfo homeListInfo = mHomeLists.get(position);
            mTv_list_title.setText(mHomeLists.get(position).title);
            mBitmapUtils.display(mIv_list_one,mHomeLists.get(position).cpOne.imgUrl);
            mBitmapUtils.display(iv_list_two,mHomeLists.get(position).cpTwo.imgUrl);
            mBitmapUtils.display(iv_list_three,mHomeLists.get(position).cpThree.imgUrl);
        }
    }


    private OnItemSelectorListener mOnItemSelectorListener;
    public interface OnItemSelectorListener{
        public void onItemSelecte(int position);
    }
    public void setOnItemSelectedListener(OnItemSelectorListener onItemSelectedListener){
        this.mOnItemSelectorListener=onItemSelectedListener;
    }
}

原创粉丝点击