我有一个活动,其中我实现了两个片段,并且我已经阅读到在活动中为这些片段实现接口是最好的方法,但是与在片段的view.setOnClickListener()
中传递活动上下文有何不同?然后在活动中实现onclick
方法,我也可以设置有关view.setTag()
中的点击的数据,那为什么要使用一个界面呢?
由于我在活动中实施onClick方法时,这两种方法是否相同?另外,如果它们不同,那么如何以及哪个更好?
答案 0 :(得分:1)
根据您的问题,ViewModel和LiveData最适合交流。
阅读本文以获取更多详细信息
https://android.jlelse.eu/communicate-between-fragments-and-activity-using-livedata-631526d6357a
答案 1 :(得分:0)
有更多方法可以在活动和片段之间进行交流。例如。 EventBus
。
使用接口时,您并没有将Fragment实现与特定活动联系在一起。如果您想将该片段用于其他活动,则可以轻松地做到这一点。
答案 2 :(得分:0)
从可重用性的角度来看,片段被广泛使用。活动的上下文与该活动相关联,一个活动的上下文与另一活动的上下文不同。 为了实现片段与活动的分离状态,我们使用用户界面回调。现在,当您想在A和B中使用Fragment FragA时,可以将其添加到B中并实现Fragment的接口并开始接收回调。