问题描述
<android.support.v4.widget.DrawerLayoutandroid: android:layout_width='match_parent'android:layout_height='match_parent'><include layout='@layout/content_main' /><fragment android: android:name='.DrawerFragment' android:layout_width='240dp' android:layout_height='match_parent' android:layout_gravity='start' /> </android.support.v4.widget.DrawerLayout>
这是mainactivity的布局,DrawerLayout的左边是一个侧滑菜单,里面是一个fragment,已经写死了,所以不需要初始化,打开程序的时候直接里面一次性更新了数据。
现在通过搜索界面会给mainactivity传递数据,求问怎样才能把数据传给fragment使用?
问题解答
回答1:使用FragmentManager找到你的Fragment,通过构造接口的方式让其与其他类进行交互。当然你可以直接获取Fragment的实例来调用其方法。
回答2:可以用这种方式加载fragment。 transaction.replace(R.id.frame, fragment); fragment中写个set方法就可以了,这样传值就简单了。这种写死的我没试过。完全可以用上面的方法代替
回答3:消息总线EventBus,otto或者RxBus
回答4:以下两种方法:1.用事件总线 EventBus或RxBus2.Fragment中写set方法