android - Kotlin 布局 ID 显示两个导入
问题描述
我将一个模块导入到我的项目中。该模块在我的示例中工作,
但是在我的应用程序中,这显示了两个导入,有人可以告诉我,为什么会这样。它的解决方案是什么。因为我从来没有在 kotlin 中导入过 id,所以为什么我现在面临这种行为?
请注意:
这不是关于一个 id drawer_layout
,我所有的 id 都显示了两个导入,另外请注意,我从未在我的旧示例项目中导入所有这些 id。但是在我的另一个应用程序中,所有 id 都显示了两个导入。
编辑
我正在添加一些额外的屏幕截图以便更好地理解。
没有重复的ID
但显示两个进口
所有 id 都在类中显示两个导入(类中几乎 100 个错误)
解决方案
因此,如果您在 xml 布局中有一个 id =drawer_layout 的视图,则有两个导入:
acr.browser.lightning.R.id.drawer_layout
:这是您将在R.java
文件中找到的 ID 映射。那里的每个视图都有一个条目。即使您不使用 kotlin,此导入也存在。您将使用它,例如,当您想要比较 View Id 以确定单击了哪个 View 等时...kotlinx.android.synthetic.main.activity_main.drawer_layout
findViewById
: 现在这是您无需直接使用和引用即可访问 VIEW 的方式。
查看您的代码,我发现第二个导入是您需要选择的。IDE 显示两个导入是正常的,因为两者都是有效的。现在,Android Studio 中存在一个错误(至少在 3.1 版本中),即使您选择第二次导入,有时 Android Studio 也会将所有 ID 显示为错误(因为它无法识别合成导入)。要解决此问题,您需要再次构建应用程序,错误将消失(如果合成导入仍然存在)
推荐阅读
- python-3.x - 按键从字典列表中删除重复记录,但保留一个具有最多键的记录
- python - 如何在 8 位移位寄存器上切换单个引脚(Python - Raspberry Pi)
- python - Python List Comprehension 在 Numpy Array 中增加了另一个维度
- javascript - 用 JS 关闭一个模态
- python - Pandas 在不同数据帧上的乘法
- python - 仅在打开的文件中出现 Python 错误,而不是在关闭的文件中
- angular - Angular + Express PWA 504 网关
- python - 如何解决 SyntaxError:python3 的语法无效
- python - 导入自定义模块
- c# - 从 C# 调用 Oracle 函数时没有返回值