Activity传递Binder给Fragment

最近我在做一个音乐播放器练手,遇到了Binder传递问题

我有个Activity,里面有个ViewPager,Viewpager里面放的Fragment,然后我想在Activity中绑定服务,然后在Fragment中接收Activity传递的Binder对象




我们可以在Fragment中使用Activity中对Fragment使用SetArguments(Bundle bundle)方法


bundle=new Bundle();
 bundle.putBinder("ibinder",iBinder);
 MusicFragment musicFragment=new MusicFragment();
 musicFragment.setArguments(bundle);
// Log.e("======", String.valueOf(iBinder.hashCode()));
 fragment= new Fragment[]{
         musicFragment,
         new MusiclistFragment(),
         new FavoriteFragment()};


然后我们在Fragment中接收传递过来的Bundle对象,取出Binder对象就行了



this.iBinder= (PlayService.IBinder) getArguments().getBinder("ibinder");
}



然后就行了,


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