Java 无法使用我的类extends RecyclerView.Adapter中的onBindViewHolder实现

Java 无法使用我的类extends RecyclerView.Adapter中的onBindViewHolder实现,java,android,android-recyclerview,Java,Android,Android Recyclerview,我刚在一周内加入这个论坛,我遇到了Android中RecyclerView.Adapter的一个问题 通过遵循示例代码和文档,我试图自己构建一个自定义适配器类,但它仍然停留在从其超类RecyclerView.adapter继承的方法之一。尽管我编写了一个继承了viewholder的内部类,就像示例代码一样,但在onBindViewHolder()方面仍然存在错误 下面是我的内部类代码: public static class ViewHolder extends RecyclerView.Vie

我刚在一周内加入这个论坛,我遇到了Android中RecyclerView.Adapter的一个问题

通过遵循示例代码和文档,我试图自己构建一个自定义适配器类,但它仍然停留在从其超类RecyclerView.adapter继承的方法之一。尽管我编写了一个继承了viewholder的内部类,就像示例代码一样,但在onBindViewHolder()方面仍然存在错误

下面是我的内部类代码:

public static class ViewHolder extends RecyclerView.ViewHolder{
   private final TextView tvTitle,tvDate,tvTime;
   public ViewHolder(View v){
        super(v);

        Log.d(TAG,"building view holder");

        tvTitle=v.findViewById(R.id.item_tvTitle);
        tvDate=v.findViewById(R.id.item_tvDate);
        tvTime=v.findViewById(R.id.item_tvTime);

        //set onclick listener to start another activity
        v.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

            }
       });
   }

   public TextView getTvTitle(){return tvTitle;}
   public TextView getTvDate(){return tvDate;}
   public TextView getTvTime(){return tvTime;}
}
以下是我的适配器代码:

public class EventAdapter extends RecyclerView.Adapter {
    private static final String TAG="EventAdapter";
    private Event[] dataset;

    public static class ViewHolder extends RecyclerView.ViewHolder{
        private final TextView tvTitle,tvDate,tvTime;
        public ViewHolder(View v){
            super(v);

            Log.d(TAG,"building view holder");

            tvTitle=v.findViewById(R.id.item_tvTitle);
            tvDate=v.findViewById(R.id.item_tvDate);
            tvTime=v.findViewById(R.id.item_tvTime);

            //set onclick listener to start another activity
            v.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {

                }
            });
        }

        public TextView getTvTitle(){return tvTitle;}
        public TextView getTvDate(){return tvDate;}
        public TextView getTvTime(){return tvTime;}
    }

    public EventAdapter(List<Event> dataset){
        Log.d(TAG,"Constructor, converting list to array");
        this.dataset=dataset.toArray(new Event[dataset.size()]);
    }

    @Override
    public ViewHolder onCreateViewHolder(ViewGroup container,int viewType){
        Log.d(TAG,"onCreateViewHolder");
        View v= LayoutInflater.from(container.getContext()).inflate(R.layout.item_event,container,false);
        return new ViewHolder(v);
    }

    @Override
    public void onBindViewHolder(ViewHolder viewHolder, final int position){
        Log.d(TAG,"onBindViewHolder");

        viewHolder.getTvTitle().setText("Title: "+dataset[position].getTitle());
        viewHolder.getTvDate().setText("Date: "+dataset[position].getDate());
        viewHolder.getTvTime().setText("Time: "+dataset[position].getTime());
    }

    @Override
    public int getItemCount(){return dataset.length;}
}

感谢您解决了我的问题

因此,要成功编译,请更改

public class EventAdapter extends RecyclerView.Adapter<EventAdapter.ViewHolder>
公共类EventAdapter扩展了RecyclerView.Adapter{ @非空 @凌驾 public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent,int viewType){ 返回null; } @凌驾 public void onBindViewHolder(@NonNull ViewHolder,int位置){ } @凌驾 public int getItemCount(){ 返回0; } 公共静态类ViewHolder扩展了RecyclerView.ViewHolder{ 公共视图持有者(@NonNull View itemView){ 超级(项目视图); } }
}

请显示来自RecyclerView适配器的代码。@Yriborodkin,已编辑。谢谢你的帮助。
public class EventAdapter extends RecyclerView.Adapter<EventAdapter.ViewHolder>
 public void onBindViewHolder(EventAdapter.ViewHolder viewHolder, final int position)
public class EventAdapter extends RecyclerView.Adapter<EventAdapter.ViewHolder> {

@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
    return null;
}

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

}

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

public static class ViewHolder extends RecyclerView.ViewHolder {
    public ViewHolder(@NonNull View itemView) {
        super(itemView);
    }
}