它与compileSdkVersion
这是在你定义的build.gradle
文件。你应该安装Sources for Android SDK
对于您用作的 APIcompileSdkVersion
。所以尝试安装源版本等于compileSdkVersion
在 SDK 管理器中。
我已经设置了compileSdkVersion 28
in build.gradle
文件。这是安装源版本 28 之前和之后的结果(注意:之后您应该重新启动 AndroidStudio):
Before:
val textWatcher = object: TextWatcher {
override fun afterTextChanged(p0: Editable?) {
}
override fun beforeTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
}
override fun onTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
}
}
After:
val textWatcher = object: TextWatcher {
override fun afterTextChanged(s: Editable?) {
}
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {
}
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
}
}
更新:2018 年 10 月 23 日
问题是关于AppCompat-v28图书馆如RecyclerView
类,来自他们的aar
文物。如果您使用版本 27.1.1 库,该问题就会消失。您使用的版本 28 的哪个发行版(例如 28.0.0、28.0.0-alpha1、28.0.0-alpha3、28.0.0-rc1、28.0.0-rc2 等)并不重要。在版本 28 发行版中,抽象方法的参数名称被混淆了。
public abstract static class Adapter<VH extends RecyclerView.ViewHolder> {
public Adapter() {
}
@NonNull
public abstract VH onCreateViewHolder(@NonNull ViewGroup var1, int var2);
public abstract void onBindViewHolder(@NonNull VH var1, int var2);
...
}
所以看来没有办法解决,直到它在下一个发行版中得到修复。