关于RecyclerView问题

本人对这个控件不太了解,我想知道比如我点击1执行一个代码,点击2执行一个代码,1和2的代码,都不一样怎么解决?

跟ListView很相似的 看你的需求 你可以设置RecyclerView的多种行视图功能 跟ListView差不多 不过RecyclerView更简洁

 @Override
        public int getItemViewType(int position) {

            if (position % 2 == 0) {//在这里判断position  返回View条目的类型  
                return 1;
            } else {
                return 2;
            }
        }

        @Override
        public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
            RecyclerView.ViewHolder viewHolder = null;
            //RecyclerView已经把条目类型封装好了 你拿着直接判断加载不同的View就行了
            //不过你的ViewHolder必须都继承 RecyclerView.Adapter<RecyclerView.ViewHolder> 这个 才可以

                 if (viewType == 1) {

              viewHolder = new MyViewHolder(LayoutInflater.from(getActivity()).inflate(R.layout.item_expandable_sub_list, parent, false));

           } else if (viewType == 2) {

            viewHolder = new ViewHolder2(LayoutInflater.from(getActivity()).inflate(R.layout.item_tablelayout_more_viewtype, parent, false));

            }

            return viewHolder;
  }

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

                  //在这个方法里 你就可以根据position 来实现你所说的 代码1 和代码2 的不同功能了

            if (position % 2 == 0) {

                MyViewHolder viewHolder = (MyViewHolder) holder;
                viewHolder.iv_image.setBackgroundResource(R.mipmap.alipay_logo);
                viewHolder.tv_text.setText(mDatas.get(position));

            } else {

                ViewHolder2 viewHolder = (ViewHolder2) holder;
                viewHolder.iv_more_view_type.setBackgroundResource(R.mipmap.run);
                viewHolder.tv_more_view_type.setText("多种行视图");

            }
        }

        @Override
        public int getItemCount() {
            return mDatas.size();
        }

http://blog.csdn.net/lmj623565791/article/details/45059587,这个应该会使你对recycleView更了解

可以根据ViewType来达到实现任意子Item的多样化布局,每个item 点击事件设置到自身。这样每个item的点击事件都是独立的。网上有一篇通过触摸监听来实现全局的设置监听器,也是可以的。