问题描述

今天编译旧的Android项目发现编译时报错了:

e: xxx...\LoginActivity.kt: (14, 24): Unresolved reference: synthetic

对应报错源码地方:

import kotlinx.android.synthetic.main.activity_login.*

居然找不到kotlinx.android.synthetic这个类了,又看了下kotlin扩展包下面确实没这个类了

分析原因

网上找了一圈基本都是教我们怎么使用,让我们导入'kotlin-android-extensions'插件;后来才发现原来是kotlin-android-extensions这个插件已经过时了,之前还只是警告,现在完全不能用了,Google推荐我们使用View Binding

解决办法

  1. build.gradle文件中删除kotlin-android-extensions插件
  2. build.gradle文件中启用View Binder功能
    plugins {id 'org.jetbrains.kotlin.android'
    }android {buildFeatures {viewBinding true}
    }
    
  3. 在Activity中使用,通过布局文件生成的Binding去引用该布局下的所有变量
    class LoginActivity : AppCompatActivity() {这个类是根据布局文件生成的,对应的是R.layout.activity_loginprivate lateinit var mLoginBinding: ActivityLoginBindingoverride fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)mLoginBinding = ActivityLoginBinding.inflate(getLayoutInflater());setContentView(mLoginBinding.root)//设置布局文件mLoginBinding.mUserName.addTextChangedListener {...}}
    }
    

Unresolved reference: synthetic 【Android】【Android Studio】【kotlin-android-extensions】相关推荐

  1. Android KTX与Kotlin Android Extensions

    Android KTX Android KTX是Google官方推荐的一套便利的Android API扩展函数库.因还处于beta阶段,相关API并不丰富,但既然是出自JakeWharton大神之手, ...

  2. 【错误记录】Android 单元测试报错 ( ExampleUnitTest.kt: (3, 12): Unresolved reference: junit / Test / assertEqu )

    文章目录 一.报错信息 二.解决方案 一.报错信息 Android 中配置了单元测试 , 执行 gradlew :app:testDebugUnitTest 命令 , 进行单元测试 , 报如下 错误 ...

  3. Android的java基本知识总结【入门篇】

    文章目录 基本概念 语法 标识符 修饰符 变量 关键字 继承 接口 基本数据类型 类型默认值 引用类型 常量 自动类型转换 隐含强制类型转换 java语法 变量 声明变量 局部变量 实例变量 类变量( ...

  4. 【Android游戏开发之十】(优化处理)详细剖析Android Traceview 效率检视工具

    本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/android-game/316.html 由 ...

  5. 【PyCharm编辑器】之引用selenium包提示错误:Unresolved reference 'selenium' less... (Ctrl+F1)...

    一.现象还原: 当新建.py文件时,需要引用selenium中的方法时,报错,提示红波浪线: Unresolved reference 'selenium' less... (Ctrl+F1) Thi ...

  6. 【Android 逆向】Android 进程注入工具开发 ( Visual Studio 开发 Android NDK 应用 | Visual Studio 中 SDK 和 NDK 安装位置 )

    文章目录 一.Visual Studio 中安装 " 使用 C++ 的移动开发 " 开发库 二.Visual Studio 中安装的 Android SDK 和 NDK 位置 三. ...

  7. Android 小项目之--数据存储【Files】(附源码)

    继上篇数据存储,现在我们来讲讲另外一种数据存储,Files.本篇讲述步骤如下: 1.温故而知新,复习四种数据存储的区别. 2.什么是 Files 数据存储. 3.什么是 Properties ? 4. ...

  8. android中屏保功能项目,【Android】一段时间不操作弹出【屏保】效果

    仿屏保效果 最近项目的一个小Demo,和大家分享一下,本篇文章主要展示的是一个仿屏保的效果,用户在一段时间不操作会自动弹出屏保页面,当处于屏保页面的时候,[两秒内连续]按两次键盘[回车键]就会退出屏保 ...

  9. Android 源码编译详解【合集篇】

    Android 源码编译详解[一]:服务器硬件配置及机型推荐 做 Android系统开发多年,开发环境都是入职就搭建好了,入职时拿个账号密码就直接开始搞开发了,年初换了新公司,所有的项目都是刚起步,一 ...

最新文章

  1. 121. Best Time to Buy and Sell Stock
  2. 《设计的品格 探索×呈现×进化的InDesign美学》—第1课1.4节单位和度量
  3. Sentinel Go 0.4.0 发布,支持热点流量防护能力
  4. hs300 quant
  5. 使用sed修改最后一行数据
  6. Spring Cloud Eureka 入门 (二)服务提供者详解
  7. Hyperledger中数据存取的实现
  8. 【dp】POJ-2817
  9. AR增强现实开发介绍
  10. 数据库基本----SQL语句大全(转载)
  11. oracle PL/SQL(procedure language/SQL)程序设计之异常(exception)
  12. 使用文件进行输入输出的两种方式(算法竞赛入门经典第2章)
  13. linux的使用 --- 虚拟机创建CentOS(Intel VT-X)
  14. css实现跑马灯效果
  15. 等待是一个过程,每一种坚守都是幸福
  16. 【清明节】开发平台公司流辰信息缅怀先祖,传承精神,撸起袖子创佳绩!
  17. MySQL 用户权限详细汇总
  18. Android HIDL接口
  19. JAVAWEB校园二手平台项目
  20. Unity debugger detected e0030 sentinel ldk protection system

热门文章

  1. 北邮22信通:实验五 共射放大电路的频率特性与深负反馈的影响
  2. python爬取客流数据_Python爬取南京地铁微博发布客流数据并进行分析
  3. 新闻小程序4——新闻详情页设计
  4. 曙光服务器通过ipmi安装系统,曙光服务器ipmi部署记录版.docx
  5. HTA(html应用程序)攻击
  6. 图解HTTP笔记第二章
  7. 汽车美容快修店如何快速拓客-云上铺汽车管理软件
  8. 王者容易怎么开启语音服务器,王者荣耀怎么开语音?王者荣耀语音开启教程
  9. JESD204B FMC子卡:2 路 14bit 1G ADC 采集,2 路 16bit 2.5G DAC 回放
  10. javaScript模板字符串、严格模式、编码字节长度