android中“绑定”和“附加”的区别

时间:2015-06-17 15:34:01

标签: android android-fragments

Android初学者在这里。我在文档中的许多地方都看过“附加”和“绑定”这两个词,它们听起来非常相似。有什么区别?

我知道fragment类有一个onAttach方法,它在生命周期的早期就被调用了。这究竟是做什么的?它是否在原始活动的上下文中添加了对fragment的引用,或者只是告诉O.S.这两个对象有关系吗? O.S.哪里会存储此信息?

“附加”和“绑定”之间有什么区别?我知道服务有一个onBind方法,但是某些组件,例如listAdapter,也需要以某种方式“绑定”。在两种情况下,这究竟是做什么的?

1 个答案:

答案 0 :(得分:0)

从我的角度来看,bind更常用于加入'两个独立的实体(或实例),其中两个共享或操纵公共数据集。服务具有onBind(),因为它将 - 或者 - - 操纵一组特定的数据,这些数据将被传递回其启动它的相应活动/片段。同样适用于ListAdapter,一个适配器"绑定"数据到视图,以便可以根据所述适配器的构建方式以特定方式显示。

另一方面,attach仅表示..好吧.. 附加。为什么片段被称为"附加"而不是"约束" (并且onAttach()而不是onBind())是一个片段不一定与其包含的活动共享同一组数据。它可以是完全不同的用途,并且在使用或操纵数据方面与其住房活动没有严格的关系。可重用性是在Android中创建Fragment背后的主要原因之一。

但当然这只是一种意见;这就是我对它的看法。尽管如此我对此非常肯定(这对我而言是合乎逻辑的),这些命名背后的真正的原因仍然存在于其作者手中。在他们决定让人们知道之前,我不认为会有一个可以被视为真实事实的解释。