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

    xiaoxiao2022-07-14  174

    在适配器类里做一个点击监听(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 }

    我的布局

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".HomeActivity"> <FrameLayout android:id="@+id/home_frameLayout" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="9.5"></FrameLayout> <RadioGroup android:id="@+id/rg_RadioGroup" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:background="@mipmap/bg_homepage_bottom" android:gravity="center" android:orientation="horizontal"> <RadioButton android:id="@+id/rb_home" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:button="@null" android:checked="true" android:drawableBottom="@drawable/selector_home" android:gravity="center" /> <RadioButton android:id="@+id/rb_circle" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:button="@null" android:drawableBottom="@drawable/selector_circle" android:gravity="center"/> </RadioGroup> </LinearLayout>
    最新回复(0)