<android.support.v4.widget.DrawerLayout
android:id="@+id/drawer_main"
android:layout_width="match_parent"
android:layout_height="match_parent">
<include layout="@layout/content_main" />
<fragment
android:id="@+id/menu_drawer"
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使用?
使用FragmentManager找到你的Fragment,通过构造接口的方式让其与其他类进行交互。当然你可以直接获取Fragment的实例来调用其方法。
可以用这种方式加载fragment。 transaction.replace(R.id.frame, fragment); fragment中写个set方法就可以了,这样传值就简单了。
这种写死的我没试过。完全可以用上面的方法代替
消息总线EventBus,otto或者RxBus
以下两种方法:
1.用事件总线 EventBus或RxBus
2.Fragment中写set方法