Fragment Callbacks vs EventBus in Android

前端 未结 2 1448
遇见更好的自我
遇见更好的自我 2021-01-15 05:11

I have faced with the problem. My Activity is fragment container, so to communicate between activity and fragments I used common Callback approach.

相关标签:
2条回答
  • 2021-01-15 05:55

    For simple one Activity to one Fragment hierarchy, callback is simplest decision to go. But think about Activity containing a Fragment, and the Fragment contains swipe-able ViewPager, and each tab of ViewPager has Fragments A,B,C.

    The Fragment A,B,C will go to long journey to send event to mother Activity, and it can be lost interface connectivity between Activity and children when they are restored during crazy complex Android Activity-Fragment lifecycle dances. In this case, eventbus like otto can be a good choice.

    The drawback of event bus approach is, it is hard to maintain where the event is come from. So, keeping a few sender is recommended.

    0 讨论(0)
  • 2021-01-15 06:00

    Your interface approach is awesome, just keep up with them, and maybe try and slice/make your interface static and add all the little little voids and return methods to that interface so you can just implement one and call the functions.

    EventBus? how about LocalBroadcastReceiver ? its a matter of preference and which one you feel will suit you better, after all if you handle 10,000 request and hate having 100 interfaces, you will end up using 1 and nesting 99.

    & just forgot, it is better to hold alot Fragment instead of Activity because at the end of the day the Activity lifecycle is pretty hard to maintain second of all you can not really control Activityies well all as compared to Fragments and Fragment is a good slave, serves you better

    hope its valuable

    0 讨论(0)
提交回复
热议问题