<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使用?
Utilisez FragmentManager pour trouver votre Fragment et laissez-le interagir avec d'autres classes en construisant une interface. Bien entendu, vous pouvez directement obtenir l’instance Fragment et appeler ses méthodes.
Les fragments peuvent être chargés de cette façon. transaction.replace(R.id.frame, fragment); Écrivez simplement une méthode set dans le fragment, afin que la transmission de la valeur soit simple.
Je n'ai jamais essayé ce genre d'écriture à mort. Vous pouvez complètement utiliser la méthode ci-dessus à la place
Bus de messages EventBus, otto ou RxBus
Les deux méthodes suivantes :
.1. Utilisez le bus d'événements EventBus ou RxBus
2 Écrivez la méthode set dans Fragment