导入kotlinx.android.synthetic.main.activity\u main不工作

导入kotlinx.android.synthetic.main.activity\u main不工作,android,android-studio,kotlin,import,android-gradle-plugin,Android,Android Studio,Kotlin,Import,Android Gradle Plugin,导入kotlinx变灰 我想我几乎什么都试过了。重新安装Android Studio,无效缓存,新项目同样存在问题 我就是找不到解决办法,你能试试吗 文件|使缓存无效/重新启动 删除.idea文件夹 干净的 重新导入项目 或只需删除应用插件:“kotlin android extensions”,同步gradle插件,然后我又添加了一个。简单的朋友,你忘记了星号 module gradle apply plugin: 'kotlin-android' apply plugin: 'kot

导入kotlinx变灰

我想我几乎什么都试过了。重新安装Android Studio,无效缓存,新项目同样存在问题

我就是找不到解决办法,你能试试吗

  • 文件|使缓存无效/重新启动
  • 删除.idea文件夹
  • 干净的
  • 重新导入项目

只需删除
应用插件:“kotlin android extensions”
,同步gradle插件,然后我又添加了一个。

简单的朋友,你忘记了星号

module gradle

apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'

dependencies {
implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}

project gradle

buildscript{
ext.kotlin_version = '1.3.11'
}
 dependencies {
  classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
    import kotlinx.android.synthetic.main.activity_main.*
这件事发生在我身上。

检查“build.gradle(:app)”文件

如果缺少kotlin扩展,请添加
kotlin android扩展
,如下所示,然后单击“立即同步”

这为我解决了这个问题:

  • 把这个放到你的app.iml中
  • 做梯度同步

  • 对我来说,只是在应用程序的build.gradle中添加了
    apply插件:“kotlin android extensions”
    ,按下sync-gradle文件,我就可以得到合成的

    id 'kotlin-android-extensions'
    id 'kotlin-android'
    
    删除插件并添加两个插件。 id“kotlin android扩展” id“kotlin android”

    应该加上。重新启动项目


    因此,正如我所发现的那样,问题在于gradle插件,然后你需要重新启动,重建你的项目。

    合成物现在被谷歌弃用。尽量避免使用它们,因为这可能会导致空指针异常和应用程序上的意外行为

    阅读更多关于:


    来自官方开发者网站。

    希望这有助于。。。可能与从布局中获取视图的新方法有关

    科特林:

  • 打开gradle app.module并在其中添加此行

    安卓{

     android{viewBinding.enabled = true
     ...
    
     }
    
  • (然后同步)

  • 转到MainActivity.kt并执行以下操作:
  • 重写创建时的乐趣(savedInstanceState:Bundle?){ super.onCreate(savedInstanceState)

    val binding=ActivityMainBinding.充气(LAYOUTINTFLATER)//2.1

    setContentView(binding.root)//2.2而不是(R.layout.activity_main)

    现在视图被称为这种方式

    binding.btn1.setOnClickListener{...}
    

    注意:将gradle module.app与行同步后,您将发现任何具有相同名称+绑定的活动

    查看2.1参考资料这里有一个逐步的答案:

    • 在Android studio的右侧,单击
      Gradle
    • 右键单击应用程序,然后单击打开渐变配置
    • 插件
      部分中打开新源代码,然后添加以下内容:
    id'kotlin android extensions'

    • 轻触
      sync
    结果:现在您可以导入
    kotlinx.android.synthetic.main.activity\u main.*
    build.gradle(:app)
    中,添加:

        buildFeatures {
            viewBinding true
        }
    
    main活动中

    私有lateinit变量绑定:ActivityMainBinding
    
    在创建时修改

    override-fun-onCreate(savedInstanceState:Bundle?){
    super.onCreate(savedInstanceState)
    绑定=活动主绑定。充气(更平)
    setContentView(binding.root)
    setListeners()
    }
    
    要设置侦听器,请执行以下操作:

    /**
    *将侦听器附加到所有视图。
    */
    私人娱乐设置侦听器(){
    val可单击视图:列表=
    列表(
    binding.view1,
    binding.view2,
    // ...
    )
    对于(可单击视图中的项目){
    item.setOnClickListener{…}
    }
    }
    
    Kotlin Android Extensions已折旧。请迁移到Jetpack视图绑定。请参阅以下内容:

    您是否将项目转换为androidx?对我来说,问题发生在这之后。我将其添加到我的文件中,但其变灰,并显示“未使用的导入指令”你试过运行你的应用程序吗?unused简单地说,它还没有被使用,当你在你的类中使用一些id时,它将被使用。当我尝试向我的类添加id时,导入行消失了,这非常奇怪。非常感谢你,我不知道如何工作,但现在它正在工作删除。idea文件夹对我有效,我认为它开始发生是因为我切换了分支和因为我不知道该怎么做,所以答案对我来说是有效的(应用插件:“kotlin android extensions”)&在无效缓存/重启之后就是这样。这对我来说是有效的。这是有效的。我认为新的android Studio 4.1版本上有一个bug,在项目创建时排除了扩展。这对我来说也是有效的!
    binding.btn1.setOnClickListener{...}
    
    binding.txtviewTitle.text = "Welcome to the jungle" // or any R.string
    
        buildFeatures {
            viewBinding true
        }