Java onBindViewHolder无法识别viewholder小部件
我正在创建一个需要adapter类中的水平recyclerview的项目我的ViewHolder有问题,我的代码是:Java onBindViewHolder无法识别viewholder小部件,java,android,android-recyclerview,android-viewholder,Java,Android,Android Recyclerview,Android Viewholder,我正在创建一个需要adapter类中的水平recyclerview的项目我的ViewHolder有问题,我的代码是: public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>{ private ArrayList<String> mNames = new ArrayList<>(); private ArrayList<String&g
public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>{
private ArrayList<String> mNames = new ArrayList<>();
private ArrayList<String> imageUrls = new ArrayList<>();
private Context mContext;
public RecyclerViewAdapter(Context mContext, ArrayList<String> mNames, ArrayList<String> imageUrls) {
this.mNames = mNames;
this.imageUrls = imageUrls;
this.mContext = mContext;
}
@NonNull
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.layout_listitem,viewGroup,false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder viewHolder, int i) {
Glide.with(mContext)
.asBitmap()
.load(imageUrls.get(i))
.into(viewHolder.image);
}
@Override
public int getItemCount() {
return mNames.size();
}
public class ViewHolder extends RecyclerView.ViewHolder{
ImageView image;
TextView name;
public ViewHolder(@NonNull View itemView) {
super(itemView);
image = itemView.findViewById(R.id.iv_overlay);
name = itemView.findViewById(R.id.name);
}
}
公共类RecycleServiceAdapter扩展了RecyclerView.Adapter{
private ArrayList mNames=new ArrayList();
私有ArrayList imageUrls=新ArrayList();
私有上下文;
公共RecycleServiceAdapter(上下文mContext、ArrayList mNames、ArrayList ImageURL){
this.mNames=mNames;
this.imageUrls=imageUrls;
this.mContext=mContext;
}
@非空
@凌驾
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup ViewGroup,int i){
View View=LayoutInflater.from(viewGroup.getContext()).flate(R.layout.layout\u列表项,viewGroup,false);
返回新的ViewHolder(视图);
}
@凌驾
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder ViewHolder,int i){
使用(mContext)滑动
.asBitmap()
.load(imageURL.get(i))
.into(viewHolder.image);
}
@凌驾
public int getItemCount(){
返回mNames.size();
}
公共类ViewHolder扩展了RecyclerView.ViewHolder{
图像视图图像;
文本视图名称;
公共视图持有者(@NonNull View itemView){
超级(项目视图);
image=itemView.findviewbyd(R.id.iv_覆盖);
name=itemView.findviewbyd(R.id.name);
}
}
}
我的问题是.into(viewHolder.image)返回错误:
错误:(47,33)错误:找不到符号变量图像
我该怎么办?公共类RecycleServiceAdapter扩展了RecycleView.Adapter{
public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.ViewHolder> {
private ArrayList<String> mNames = new ArrayList<>();
private ArrayList<String> imageUrls = new ArrayList<>();
private Context mContext;
public RecyclerViewAdapter(Context mContext, ArrayList<String> mNames, ArrayList<String> imageUrls) {
this.mNames = mNames;
this.imageUrls = imageUrls;
this.mContext = mContext;
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.layout_listitem, viewGroup, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull ViewHolder viewHolder, int i) {
Glide.with(mContext)
.asBitmap()
.load(imageUrls.get(i))
.into(viewHolder.image);
}
@Override
public int getItemCount() {
return mNames.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
ImageView image;
TextView name;
public ViewHolder(@NonNull View itemView) {
super(itemView);
image = itemView.findViewById(R.id.iv_overlay);
name = itemView.findViewById(R.id.name);
}
}
}
private ArrayList mNames=new ArrayList();
私有ArrayList imageUrls=新ArrayList();
私有上下文;
公共RecycleServiceAdapter(上下文mContext、ArrayList mNames、ArrayList ImageURL){
this.mNames=mNames;
this.imageUrls=imageUrls;
this.mContext=mContext;
}
@非空
@凌驾
public ViewHolder onCreateViewHolder(@NonNull ViewGroup ViewGroup,int i){
View View=LayoutInflater.from(viewGroup.getContext()).flate(R.layout.layout\u列表项,viewGroup,false);
返回新的ViewHolder(视图);
}
@凌驾
public void onBindViewHolder(@NonNull ViewHolder ViewHolder,int i){
使用(mContext)滑动
.asBitmap()
.load(imageURL.get(i))
.into(viewHolder.image);
}
@凌驾
public int getItemCount(){
返回mNames.size();
}
公共类ViewHolder扩展了RecyclerView.ViewHolder{
图像视图图像;
文本视图名称;
公共视图持有者(@NonNull View itemView){
超级(项目视图);
image=itemView.findviewbyd(R.id.iv_覆盖);
name=itemView.findviewbyd(R.id.name);
}
}
}
post your layour\u listitem.xml您编写了extends RecyclerView.Adapter
而不是extends RecyclerView.Adapter
,换句话说,您应该通过ViewHolder类而不是RecyclerView中的标准类。我还更改了onCreateViewHolder()和onBindViewHolder()签名,以便它现在返回并接收您的ViewHolder,而不是RecyclerView.ViewHolder