No type arguments expected for interface ListAdapter

文章目录

    在实现一个 RecyclerView 的 Adapter 时,类的首行代码即报错:

    class TodoAdapter : ListAdapter<Todo, TodoAdapter.TodoViewHolder>(TodoDiffCallback()) {
    

    报错提示为:

    No type arguments expected for interface ListAdapter

    很奇怪,明明是完全 copy 的 sunflower 的示例代码,怎么还会报错。

    仔细检查发现,Android Studio 自动 import 的类有问题:

    默认导入的是:

    import android.widget.ListAdapter
    

    而实际上应该导入:

    import androidx.recyclerview.widget.ListAdapter
    

    所以,使用 Vim Snippet 整理自己的代码模板,比依赖 Android Studio / IDEA 这类自动补全 IDE 靠谱。