繁体   English   中英

Kotlin合成属性对于Android视图的区别?

[英]Kotlin synthetic property difference for Android views?

Kotlin Android扩展文档说,您基本上可以通过使用import语句来完成findViewById()的快捷方式。 但是,导入特定视图kotlinx.android.synthetic.main.<layout-file-name>.<view-id>与从kotlinx.android.synthetic.main.<layout-file-name>.view.<view-id>导入之间有什么区别? kotlinx.android.synthetic.main.<layout-file-name>.view.<view-id> 如果您使用前者,则IDE会向我显示三个相同的视图ID,其中一个分别用于Activity,Dialog和Fragment。 如果执行后者,则仅显示一次视图ID名称。

IDE提示显示可以在以下视图中使用视图引用的类类型:活动,片段,对话框或视图。 键入import语句时,IDE将显示所有可用类型的完成情况。 但是,当您尝试在类内部使用它(不使用import语句)时,IDE会为您显示类正在扩展的特定类型的导入提示。

例如,在一个活动类中,扩展AppCompatActivity ,您将获得导入提示

<view-id> from <layout-file-name> for Activity

但是,如果您的类是从View或子类扩展而来的,则会得到以下信息:

<view-id> from <layout-file-name> for View

关于为什么有多个选择,对于不同类型,视图缓存的实现可能有所不同。 在这里更多

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM