https://stackoverflow.com/questions/49219439/incorrect-variable-names-in-overridden-methodsjava
刚刚升级了Android Studio的版本到3.3,在使用RecyclerView的时候出现了下面的问题:android
在实现RecyclerView.Adapter的时候,方法的参数出现
p0
,p1
这样的状况。ide
class CommonAdapter : RecyclerView.Adapter<MyViewHolder>() { override fun getItemCount(): Int { TODO("not implemented") //To change body of created functions use File | Settings | File Templates. } override fun onBindViewHolder(p0: MyViewHolder, p1: Int) { TODO("not implemented") //To change body of created functions use File | Settings | File Templates. } override fun onCreateViewHolder(p0: ViewGroup, p1: Int): MyViewHolder { TODO("not implemented") //To change body of created functions use File | Settings | File Templates. } }
出现了这个问题以后,找了不少资料,有的说没有想在对应API的源码,有的说得修改AndroidStudio的配置文件,有的说得修改SDK的路径,可是最终都没有解决。ui
最终在 stackoverflow
上找到了解决办法,原来是引用了 28 的Design包。这个问题是API 28 的固有的问题,并非本身配置错误致使的问题,讲28的包改成27的包就能够解决了。code
implementation 'com.android.support:design:28.0.0'
将28的包改成以下所示的27的包之后,问题解决了。get
implementation 'com.android.support:design:27.0.0'
修改后实现方法的效果以下:源码
class CommonAdapter : RecyclerView.Adapter<MyViewHolder>() { override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): MyViewHolder { TODO("not implemented") //To change body of created functions use File | Settings | File Templates. } override fun getItemCount(): Int { TODO("not implemented") //To change body of created functions use File | Settings | File Templates. } override fun onBindViewHolder(holder: MyViewHolder?, position: Int) { TODO("not implemented") //To change body of created functions use File | Settings | File Templates. } }