public class InputView extends FrameLayout { public InputView(@androidx.annotation. Context context) { super(context); } public InputView(@androidx.annotation. Context context, @androidx.annotation. AttributeSet attrs) { super(context, attrs); } public InputView(@androidx.annotation. Context context, @androidx.annotation. AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) public InputView(@androidx.annotation. Context context, @androidx.annotation. AttributeSet attrs, int defStyleAttr, int defStyleRes) { super(context, attrs, defStyleAttr, defStyleRes); } } 加粗部分显示无法解析是什么原因?
说错,这样会有其他问题。
加入:
import android.support.annotation.NonNull; import android.support.annotation.Nullable;
可以解决
在
在gradle.properties 文件中写入下面两行:
android.useAndroidX=true
android.enableJetifier=true
当然也可以在创建项目的开始就 勾选【Use AndroidX artifacts】 就不会出现这个问题。
如果出现这个问题,配置下AndroidX 就行。
我的解决方法,你们可以式一下,
1.Build -> Clean Project
2.Build->Rebuild Project
3.Tools -> Android -> Sync Project With Gradle Files
4.某些 setting 出了问题,点击菜单中的 “File” -> “Invalidate Caches / Restart”,然后点击对话框中的 “Invalidate and Restart”,清空 cache 并且重启。语法就会正确的高亮了。
5.粘贴了别的代码进来,而有的图片之类的文件没有粘进来,解释器解释不通了,在下次启动的时候就会出现Cannot resolve symbol R,多半是xml文件有问题,标签不匹配等等,仔细检查
6.选中自己的project然后按F4,进入Project Structure检查sdk是否正确。
7.重启Android studio;
androidX的问题,具体可以百度研究一下
@androidx.annotation.后面都是NonNull和Nullable,这两部分无法解析