在Preference中的onCreateView和onBindView方法有什么区别?
在文档中,它表示onBindView:
Binds the created View to the data for this Preference. This is a
good place to grab references to custom Views in the layout and set
properties on them.
为什么在布局中设置Views的属性是一个好的地方?目前我正在设置onCreateView方法的属性,一切似乎都可以正常工作.
从我的经验来看,这两种方法总是一起调用.也许有一些情况下只有onBindView被调用?
解决方法
onCreateView()用于创建最终将包含“首选项”UI的“视图”层次结构. onBindView()用于将实际数据绑定到在onCreateView()中创建的View层次结构.
该模式将View层次结构(即缓存)的创建从数据绑定到该层次结构.在Preference的情况下,onCreateView()只被调用一次,而每次UI需要加载Preference View时调用onBindView().
我猜你当前的设置是有效的,因为你永远不会改变你在首选项上设置的属性.最好在onBindView()中设置View层次结构的属性,以防它需要是动态的.
(除此之外,这个视图创建与绑定设计模式也在CursorAdapters中看到,它只创建足够的视图来显示屏幕,但是这些视图不断地绑定到新的数据.)