楼主的SDK是安卓10,其余版本自测
如果你跟我一样用的是安卓10的sdk,那么导入语句已经不是原来的写法了,
低版本的如下:
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
annotation和v7包在安卓10的sdk下均不能被识别(未导入正确jar的情况下)
而实际上正确的写法应该是:
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
在高版本的android sdk中,很多包的位置都改变了,不能再沿用之前的写法。
现在在新建android项目时,v4包是默认导入的。v7包出来没多长时间,用的人也不多,主要对3.0以下版本提供ActionBar支持,以及SearchView,PopupMenu等控件的支持。因为一些开源框架已经实现对3.0以下版本ActionBar的支持,所以v7包的使用意义也不是很大。
1.v7包需要v4包的支持,在新建android项目时,v7包默认不导入,v4默认导入。v7包在sdk的E:\android-sdk-windows\extras\android\support路径下。
2.v7中提供的jar包只有类文件,没有资源文件,因此,需要将android-support-v7-appcompat作为库导入到eclipse中并引用到项目中。该库在sdk的路径为E:\android-sdk-windows\extras\android\support\v7\appcompat。
3.新建activity不再继承自Activity,而是继承自ActionBarActivity,对ActionBar的操作也有一定改变。此外还必须为新建的activity添加v7资源库中的主题,例如:android:theme="@style/Theme.AppCompat.Light",不添加的话会报错。
4.使用SearchView等v7提供的类,在导入包的时候一定要选择v7包,不要选择sdk自带的。