微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android – Preference的onCreateView和onBindView方法的区别

在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中看到,它只创建足够的视图来显示屏幕,但是这些视图不断地绑定到新的数据.)

原文地址:https://www.jb51.cc/android/311934.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐