楷楷大人 2020-02-12 05:48 采纳率: 50%
浏览 943
已采纳

android RecyclerView适配器 onBindViewHolder出错!

import android.media.Image;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;

import java.util.List;

public class RecyclerViewAdapter extends RecyclerView.Adapter {
public List mlist;
static class ViewHolder extends RecyclerView.ViewHolder{
ImageView imageView;
TextView textView;
public ViewHolder(@NonNull View itemView) {
super(itemView);
imageView=(ImageView)itemView.findViewById(R.id.image);
textView=(TextView)itemView.findViewById(R.id.title);
}
}
public RecyclerViewAdapter(List list) {
this.mlist =list;
}

@NonNull
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
    View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.main_item,parent,false);
    ViewHolder holder=new ViewHolder(view);
    return holder;
}

@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
    ItemBean itemBean = mlist.get(position);
    holder.imageview.setImageResource(itemBean.getImage());
    holder.textView.setText(itemBean.getText());
}

@Override
public int getItemCount() {
    return mlist.size();
}

}
图片说明

展开全部

  • 写回答

1条回答 默认 最新

  • 代码的灵魂是bug! 2020-02-12 07:42
    关注

    缺少代码。ViewHolder holder = (ViewHolder)holder;,必须把onBindViewHolder参数中的holder转换成自己定义的才行

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部