1. 程式人生 > >Fragment之間的傳值 介面回撥

Fragment之間的傳值 介面回撥



//佈局
<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(new 
View.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); } });