使用kotlin android扩展在不同的布局中引用具有相同id的视图

前端之家收集整理的这篇文章主要介绍了使用kotlin android扩展在不同的布局中引用具有相同id的视图前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的 Android项目中,我有两个布局:num_info和num_info_pack.两者都有id“circle”的视图.所以我认为通过layout_name.circle引用这些视图可以解决问题:
val inetView = activity.layoutInflater.inflate(R.layout.num_info_pack,parent,false)
    inetView.circle.setBackgroundResource(background)

但圆圈用红色加下划线,它说:

Overload resolution ambiguity. All these functions match.

public val View.circle: View! defined in
kotlinx.android.synthetic.main.num_info_pack.view

public val View.circle: RelativeLayout! defined in
kotlinx.android.synthetic.main.num_info_inet_plus_pack.view

如果我特意说inetView.circle,为什么我在谈论哪个圈子?

解决方法

这里的解决方案是进口.您必须导入两个布局,如
import kotlinx.android.synthetic.main.num_info_pack

import kotlinx.android.synthetic.main.num_info_inet_plus_pack

删除其中一个,并使用您要导入的相应布局文件保留一个.它应该工作正常.

猜你在找的Android相关文章