2020-3-24 更新
今天写了一点界面,新建activity还是出问题,之前的方法不管用了。。
目前最快的解决方法:close project 后再打开
在新版的AndroidStudio3.6 中,在项目的包下新建 activity 时,一般会同时生成对应的java和xml文件,例如新建 MainActivity ,则会在java包下生成 MainActivity.java ,在 res 文件夹下的layout文件中生成 activity_main.xml。
但是在实际创建后,在 MainActivity.java 中setContentView(R.layout.activity_main); 这句话中的 activity_main 会标红,对应的报错是找不到 activity_main.xml.
查到一些解决办法,通常是说在java文件头引入的是 android.R ,需要手动修改引入自己项目的 R 才行,但是我发现自己代码中自动引入的R是没有错的,本身就是项目的 R,而且layout目录下确实存在着 activity_main.xml 。还有的办法是 clean project 或是 rebuild project,但是尝试之后发现都不行。
后来经过尝试,发现问题是 当前目录中的文件与实际文件系统中不同步,也就是创建完后需要刷新一下当前的项目目录。
解决办法:File–>Sync with File System
后来又试了几次,发现创建activity后,又没有这个问题了,有点玄学。因为网上有相关的问题,但是问题的原因不同,可能是版本问题吧。
在这里记录一下。