Android初学者在这里。我在文档中的许多地方都看过“附加”和“绑定”这两个词,它们听起来非常相似。有什么区别?
我知道fragment
类有一个onAttach
方法,它在生命周期的早期就被调用了。这究竟是做什么的?它是否在原始活动的上下文中添加了对fragment
的引用,或者只是告诉O.S.这两个对象有关系吗? O.S.哪里会存储此信息?
“附加”和“绑定”之间有什么区别?我知道服务有一个onBind
方法,但是某些组件,例如listAdapter
,也需要以某种方式“绑定”。在两种情况下,这究竟是做什么的?
答案 0 :(得分:0)
从我的角度来看,bind
更常用于加入'两个独立的实体(或实例),其中两个共享或操纵公共数据集。服务具有onBind()
,因为它将 - 或者 - - 操纵一组特定的数据,这些数据将被传递回其启动它的相应活动/片段。同样适用于ListAdapter
,一个适配器"绑定"数据到视图,以便可以根据所述适配器的构建方式以特定方式显示。
另一方面,attach
仅表示..好吧.. 附加。为什么片段被称为"附加"而不是"约束" (并且onAttach()
而不是onBind()
)是一个片段不一定与其包含的活动共享同一组数据。它可以是完全不同的用途,并且在使用或操纵数据方面与其住房活动没有严格的关系。可重用性是在Android中创建Fragment
背后的主要原因之一。
但当然这只是一种意见;这就是我对它的看法。尽管如此我对此非常肯定(这对我而言是合乎逻辑的),这些命名背后的真正的原因仍然存在于其作者手中。在他们决定让人们知道之前,我不认为会有一个可以被视为真实事实的解释。