RecycleView自定义接口回调及传值

在适配器中的操作:

 public interface OnItemListenter{
       void onItemClick(View view, int postion);
    }

    public void setOnItemClickListener(OnItemListenter mItemClickListener){
        this.mItemClickListener = mItemClickListener;
    }


----------
方式一:
holder.itemView.setOnClickListener (new View.OnClickListener () {
            @Override
            public void onClick(View v) {
                mItemClickListener.onItemClick (v,list.get (position).getPid ());
            }
        });
方式二:
if(monItemClickListener != null){
            holder.itemView.setOnClickListener (new View.OnClickListener () {
                @Override
                public void onClick(View v) {
                    monItemClickListener.onClickChild (position);
                }
            });
        }

在activity中的进行调用

方式一:
 homeAdapter.setOnItemClickListener (new HomeAdapter.OnItemListenter () {
            @Override
            public void onItemClick(View view, int postion) {
                //传递数据值
                Intent intent = new Intent (MainActivity.this, ShopChildActivity.class);

                intent.putExtra ("pid",postion);

                startActivity (intent);
            }
        });
方式二调用:
catagoryAdapter.setOnItemClickListener (new CatagoryAdapter.OnItemClickListener () {

            @Override
            public void onClickChild(int position) {

                cid = list.get (position).getCid ();

                showShop.ShowGroChildToView (new ShopGoods (showShop),GroupFragment.this,cid);


                Toast.makeText(getActivity (), "cid:" + GroupFragment.this.cid, Toast.LENGTH_SHORT).show();
            }
        });

另一个activity中得到它的数据值:

//方式一得到
 Intent intent = getIntent ();

        if(intent != null){
            pid = intent.getIntExtra ("pid", 0);

            Log.d (TAG, "onCreate: "+pid);
        }

猜你喜欢

转载自blog.csdn.net/chen_md/article/details/80529442