【问题标题】:Kotlin Extensions - Inflate Custom ViewsKotlin 扩展 - 膨胀自定义视图
【发布时间】:2019-01-10 19:54:23
【问题描述】:

我是 kotlin 的新手,我有一个适配器类,我需要扩充一个视图。但最近我遇到了一个错误,说"Unresolved reference: R"

如下图所示:

那么,我怎样才能夸大这个视图呢?我已导入以下内容:

import kotlinx.android.synthetic.main.slide_layout.view.*

但我不知道下一步该怎么做,我到处搜索,但它们似乎都过时了!所以我该怎么做?谢谢!

【问题讨论】:

    标签: java android android-studio kotlin kotlin-extension


    【解决方案1】:

    我能想到两个可能的问题,

    1. 首先是缺少对 R 类的导入,如果您的适配器位于来自您的域包名称的内部包中,即
      • 假设这是域包“your.doamin.package”
      • 如果适配器不在该包中,即适配器在“your.domain.package.adapter”中 那么您需要将 R 类导入该文件,即编写此导入语句

    import your.domain.package.R

    这应该可以解决您在这种情况下的问题

    1. 如果您已经完成了上面的“1”,那么另一个问题是,有时 Android Studio 只是行为不端,因此请关闭文件并清理并构建您的项目,首先单击构建 -> 清理项目,一旦构建完成重新打开那个文件。

    【讨论】:

    • 即使在多次重建后仍然存在同样的问题,截图:prntscr.com/ke6brs
    • @TamimProduction 试试这个,因为你有导入,在模拟器或设备中运行应用程序,并告诉我它是否因为 R 类而崩溃,让我们消除一些可能性
    • @TamimProduction 试试这个,因为你有导入,首先通过转到菜单:Build -> Clean Project 来清理构建,然后在模拟器或设备中构建并运行应用程序,然后告诉如果它因为 R 类而崩溃,让我消除一些可能性,
    • 它甚至没有构建:/
    • 是的,它不应该构建抱歉,然后试试这个,这可能是导致 R 类疯狂的其他原因,并且您可能在其他地方遇到了阻止应用程序运行的错误构建,要弄清楚这一点,注释掉使用 R 类的这部分代码,并尝试构建您的项目,并确保它构建:修复任何其他丢失的导入并确保它在没有 R 类的情况下构建,一次它构建成功,取消注释 R 类部分,然后重新构建。
    【解决方案2】:

    为了解决错误unresolved reference: R,您缺少R 文件的导入。像

    import packageName.R
    

    为了您的参考,我附上了错误的屏幕截图并查看注释导入。 因此,请检查您的 R.java 所在的位置并将其导入。

    【讨论】:

    • 多次重建后仍然存在同样的问题,截图:prntscr.com/ke6brs
    • 你的AndroidManifest.xml中定义了正确的包吗?
    【解决方案3】:

    首先你检查你的类导入语句,你的 R 类文件是否被导入。

    import packageName.R
    

    您也可以设置 android studio 提供自动导入功能。如果您可以启用此功能,那么所有必需的类都会自动导入您的 .kt 类

    【讨论】:

      【解决方案4】:

      很遗憾这里并不是所有的答案都能解决你的问题,我一直在寻找通用的解决方案,你可以找到它们 Here

      【讨论】:

        猜你喜欢
        • 2012-05-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多