Android Studio生成重写方法参数名称异常问题咨询
我之前也碰到过一模一样的情况——明明装了对应SDK的源码,生成重写方法时参数名却和官方文档对不上,下面几个方法应该能帮你解决:
检查SDK源码的关联与配置
首先打开File > Project Structure,切换到SDK Location标签,确认Android SDK路径是正确的。接着到SDK Platforms里,确保Android 8.1 (API 27)已经安装,并且Sources for Android 27是勾选状态的。另外别忘了检查你模块的build.gradle文件,确认compileSdkVersion和targetSdkVersion都设置成了27,要是用了更高版本的SDK,Studio可能会拉取对应版本的源码,而你只装了27的,自然参数名对不上。清除缓存并重启Android Studio
Studio的缓存有时候会抽风,导致源码索引异常。试试File > Invalidate Caches...,然后选择Invalidate and Restart,让Studio彻底清理缓存后重新索引所有源码,很多时候这个操作就能解决参数名不匹配的问题。手动修正参数名(临时应急方案)
如果上面的方法都没起效,那只能先手动修改参数名了。比如把onCheckedChanged的参数改成官方规范的buttonView、isChecked,onDateSet改成view、year、month、dayOfMonth,虽然麻烦点,但能保证代码符合规范。排查混淆或插件影响
检查一下你的项目配置,看看build.gradle里的minifyEnabled是不是在debug模式下也开启了?有些混淆规则会修改参数名,导致生成的方法参数异常。另外也看看有没有安装过会修改代码结构的第三方插件,这类插件也可能干扰方法参数的生成。
内容的提问来源于stack exchange,提问作者Saintan

