首选项中的onCreateViewonBindView方法有什么区别?

在文档中说onBindView:



为什么在我的布局中的Views上设置属性如此好呢?目前,我正在onCreateView方法中设置属性,并且一切似乎都可以正常工作。
根据我的经验,这两种方法似乎总是一起调用。也许在某些情况下仅调用onBindView

最佳答案

onCreateView()用于创建最终将包含首选项UI的View层次结构。 onBindView()用于将实际数据绑定(bind)到在onCreateView()中创建的View层次结构。

该模式将 View 层次结构(已缓存)的创建与数据到该 View 层次结构的绑定(bind)分开。对于首选项,onCreateView()仅被调用一次,但是每次UI需要加载首选项 View 时,onBindView()都会被调用。

我猜您当前的设置有效,因为您永远不会更改在“首选项”上设置的属性。如果需要动态,最好在onBindView()中设置View层次结构的属性。

(顺便说一句,在CursorAdapters中也可以看到这种 View 创建与绑定(bind)设计模式,在该模式中,它只能创建足够的 View 以显示在屏幕上,但会不断将这些 View 绑定(bind)到新数据。)

关于android - 首选项的onCreateView和onBindView方法之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7346890/

10-12 04:19