我是 Kotlin 的新手。在其他非常有趣的事情中,我发现了 Android 扩展,根据文档,它应该让我使用活动的视图而不需要findViewById
.
实际上,只需在我的导入中添加这一行,它就可以很好地工作:
import kotlinx.android.synthetic.main.<layout>.*
问题是当两个不同的布局包含具有相同 id 的小部件(即合成属性的相同名称)时,
例如TextView
具有 id 的两个不同的 s txtTitle
。假设第一个在活动上,第二个属于适配器内部使用的布局。
当我尝试在第一个 TextView(活动的)上调用方法时,我看不到预期的结果,就好像调用将在另一个视图上完成一样。作为对此的确认,当我打电话时txtTitle.parent
,我看到了另一个的父母和兄弟姐妹,txtTitle
而不是预期的。
难道我做错了什么?我发现绕过这个问题的唯一方法是在我的所有布局中使用不同的名称或继续使用findViewById
,但浪费这个语言功能会很遗憾......