Fragment之間的傳值 介面回撥
阿新 • • 發佈:2019-02-04
//佈局
<fragment android:id="@+id/frag_left" android:name="baidumaplocation.bawei.com.chuanzhirecycle.Fragment1" android:layout_width="wrap_content" android:layout_height="match_parent"></fragment> <fragment android:id="@+id/grag_rigt" android:layout_weight="1" android:name="baidumaplocation.bawei.com.chuanzhirecycle.Fragment2"android:layout_width="0dp" android:layout_height="match_parent"></fragment>
private OnTrans trans;
//定義一個藉口public interface OnTrans{ void trans(List<Bean.ResultBean.BrandsBean.ProductsBean> list);}
//對外提供訪問的方public void setOnTransValues(OnTrans trans){ this.trans=trans; }
//點選獲得資料進行傳值
itemView.setOnClickListener(newView.OnClickListener() { @Override public void onClick(View v) { List<Bean.ResultBean.BrandsBean.ProductsBean> products = brands.get(getLayoutPosition()).getProducts(); trans.trans(products); } }); //在fragment2中呼叫介面拿到資料進行適配
Fragment1 fragmentleft = (Fragment1) getFragmentManager().findFragmentById(R.id.frag_left); fragmentleft.setOnTransValues(new Fragment1.OnTrans() { @Override public void trans(List<Bean.ResultBean.BrandsBean.ProductsBean> banlist) { MyAdapter myAdapter=new MyAdapter(banlist); fra_recy2.setAdapter(myAdapter); } });