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

使用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

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

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

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

相关推荐