为什么Android Studio坚持我正在使用Android 4?

时间:2019-02-19 18:47:22

标签: android android-studio

我正在与其他团队共享一个Android项目。该项目在命令行上完美构建。当我在Android Studio中查看特定的源文件时,此行以红色突出显示为错误:

mAccountSpinner = mView.findViewById(R.id.account_picker);

悬停在错误行上方,Android Studio表示:

Incompatible types.
Required: com.mycompany.AccountPickerView
Found: android.view.View

我的同事没有看到此错误。按住Ctrl键单击findViewById时,Android Studio将我带到缓存的Android 4源:~/.gradle/caches/modules-2/files-2.1/com.google.android/4.1.1.4/.../View.java!这是错误的根源,因为此功能的Android 4版本显示为:

public final android.view.View findViewById(int id)

当我的同事这样做时,他们被引导到findViewById的现代版本:

public <T extends View> T findViewById(@IdRes int id)

我们的项目针对API 28。

我尝试过使缓存无效并重新启动。我已经删除了~/.gradle文件夹。我什至卸载并重新安装了Android Studio。

关于我在这里犯错的任何建议吗?

1 个答案:

答案 0 :(得分:0)

我认为,如果将变量转换为AccountPickerView,则应该可以摆脱此错误。

mAccountSpinner = (AccountPickerView) mView.findViewById(R.id.account_picker);