显示错误“ ViewHolder”是无法实例化的抽象类

时间:2018-07-22 13:09:09

标签: java android

我正在尝试构建自定义的recyclerView适配器,但是onCreateViewHolder中显示错误。

如何实例化抽象类?

我的代码有什么问题?

我也检查了其他答案,都说您的名字必须重复,或者您输入的课程错误,但是没有一个帮助。

在学习阶段考虑我的建议是很好的。

public class RegisteredRecyclerAdapter extends RecyclerView.Adapter<RegisteredRecyclerAdapter.ViewHolder> {

    public Context context;
    private FirebaseAuth firebaseAuth;
    private FirebaseFirestore firebaseFirestore;




    @NonNull
    @Override
    public RegisteredRecyclerAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {

        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.registered_item_listview,parent,false);
        context = parent.getContext();
        firebaseFirestore = FirebaseFirestore.getInstance();
        firebaseAuth = FirebaseAuth.getInstance();
        return  new RecyclerView.ViewHolder(view);
    }


    @Override
    public void onBindViewHolder(@NonNull RegisteredRecyclerAdapter.ViewHolder holder, int position) {

    }

    @Override
    public int getItemCount() {
        return 0;
    }


    public class ViewHolder extends RecyclerView.ViewHolder{

        public ViewHolder(@NonNull View itemView) {
            super(itemView);

        }


    }


}

3 个答案:

答案 0 :(得分:4)

您正在尝试使用RecycleView.ViewHolder方法创建RegisteredRecyclerAdapter.ViewHolder而不是onCreateViewHolder()的实例。由于RecycleView.ViewHolderabstract类,因此会出现此错误。

答案 1 :(得分:0)

使用return new ViewHolder(view);

答案 2 :(得分:0)

@Amin说您正在尝试在onCreateViewHolder()中尝试无效返回,请尝试以下

distanceValueOfNodeA