<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使用?
Gunakan FragmentManager untuk mencari Fragment anda dan biarkan ia berinteraksi dengan kelas lain dengan membina antara muka. Sudah tentu, anda boleh terus mendapatkan contoh Fragment dan memanggil kaedahnya.
Serpihan boleh dimuatkan dengan cara ini. transaction.replace(R.id.frame, fragment); Hanya tulis kaedah yang ditetapkan dalam serpihan, supaya menghantar nilai adalah mudah.
Saya tidak pernah mencuba tulisan sebegini sampai mati. Anda boleh menggunakan sepenuhnya kaedah di atas sebagai ganti
Mesej bas EventBus, otto atau RxBus
Dua kaedah berikut:
1 Gunakan bas acara EventBus atau RxBus
2. Tulis kaedah yang ditetapkan dalam Fragmen