You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Android Studio 3.1中Ctrl+Click无法跳转资源引用问题求助

解决Android Studio 3.1中Ctrl+Click跳转失效的问题

我之前刚更新到Android Studio 3.1时也碰到过一模一样的问题,不管是布局控件引用还是@Override方法的跳转都变得异常麻烦,折腾了好一阵才找到几个有效的解决办法,分享给你:

通用修复方法

  • 清理IDE缓存并重启
    这是解决AS各类索引、跳转问题的首选方案:依次点击FileInvalidate Caches / Restart...,在弹出的窗口选择Invalidate and Restart。等AS重启完成后,大部分跳转异常都会自动修复。

  • 重新同步Gradle项目
    版本更新后Gradle同步可能不彻底,导致资源索引没有正确生成。点击工具栏上的Sync Project with Gradle Files按钮(大象图标),等同步完成后再测试跳转功能。

  • 彻底重建项目
    尝试点击BuildRebuild Project,让AS重新编译整个项目并生成完整的索引文件。这个方法对布局控件(比如你提到的mBinder.fabCart)的跳转失效问题效果特别明显。

  • 检查鼠标跳转设置
    有时候更新IDE会重置部分设置:打开SettingsEditorGeneralMouse,确认Ctrl+Click to open declaration选项处于勾选状态,避免因为设置被改导致的跳转失效。

针对你提到的具体场景补充

  • 对于布局控件跳转(比如mBinder.fabCart):如果用了Data Binding,确保你的Binding类是正确生成的,Rebuild Project后可以去build/generated/data_binding_base_class_source_out目录下确认Binding类是否包含fabCart的引用;另外也可以先在XML布局文件中点击控件ID,再回到代码里尝试Ctrl+Click跳转。
  • 对于@Override方法跳转:除了上面的通用方法,还可以试试用Alt+Click(Mac上是Option+Click)替代Ctrl+Click,有时候快捷键冲突也会导致这个问题;如果还是不行,检查一下你的方法是否真的正确重写了父类方法,避免因为代码语法问题导致IDE无法识别。

内容的提问来源于stack exchange,提问作者Nikunj Peerbits

火山引擎 最新活动