从适配器(类)通过EventBus跳转到Fragment并传值 超简单

在适配器类里做一个点击监听(EventBus使用截EventBus使用)

  viewHolder.itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                int id = rxxp.getCommodityList().get(i).getCommodityId();
                EventBus.getDefault().post(id);//EventBus发送
            }
        });

到你要接收的Fragment里接收替换


    /**
     * 从适配器传过来id 替代当前Fragment
     * @param id
     */
    @Subscribe(threadMode = ThreadMode.MAIN)
    public void getMessage(Integer id) {
        Log.d(TAG, "getMessage: " + id);
        String ID = id.toString();
        DetailsFrgament detailsFrgament = new DetailsFrgament();//要替换的Frameent类
        Bundle bundle = new Bundle();//传值用
        bundle.putString("ids",ID);
        detailsFrgament.setArguments(bundle);
        getFragmentManager()//开启事务管理
                .beginTransaction()
                .addToBackStack(null)//将当前Fragment加入到返回栈
                .replace(R.id.home_frameLayout,detailsFrgament).commit();//home_frameLayout是当前布局里的FrameLayout

    }

我的布局




    

    

        

        


    
    

你可能感兴趣的:(开发)