无法解析 imageView 中的方法 setText()

Posted

技术标签:

【中文标题】无法解析 imageView 中的方法 setText()【英文标题】:Cannot resolve method setText() in imageView 【发布时间】:2020-12-28 03:24:30 【问题描述】:

我正在尝试在tutorial 之后在 android Studio 中使用 Recyclerview 和 Cardview 做一个简单的项目。 但是我在onBindViewHolder 函数第 32 行收到一个错误,说它无法解析imageView 中的方法setText(),我不知道为什么,因为mTitle 不是ImageView,它是TextView:

package com.example.demoproject;


import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;

import java.util.ArrayList;
import android.content.Context;

public class MyAdapter extends RecyclerView.Adapter<MyHolder> 
    Context c;
    ArrayList<Model> models; // this array list creates a list of arrays which parameters define in my model class

    public MyAdapter(Context c, ArrayList<Model> models) 
        this.c = c;
        this.models = models;
    

    @NonNull
    @Override
    public MyHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) 
        View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.row,null); // this line inflate my row
        return new MyHolder(view); // this will return my view to holder class
    

    @Override
    public void onBindViewHolder(@NonNull MyHolder myHolder, int i) 
        myHolder.mTitle.setText(models.get(i).getTitle()); // here i is position

    

    @Override
    public int getItemCount() 
        return 0;
    

MyHolder.java:

package com.example.demoproject.

import android.view.View;
import android.widget.ImageView;

import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;

public class MyHolder extends RecyclerView.ViewHolder 
    ImageView mImaeView, mTitle;
    public MyHolder(@NonNull View itemView) 
        super(itemView);
        this.mImaeView = itemView.findViewById(R.id.imageIv);
        this.mTitle = itemView.findViewById(R.id.titleTv);
    

【问题讨论】:

可以加MyHolder类吗? 当然。已经添加了。 【参考方案1】:

您的mTile 不是TextView,而是ImageView。改成这样:

ImageView mImaeView; 
TextView mTitle;

并确保itemView.findViewById(R.id.titleTv); 返回TextView。签入您的 xml 文件(回收站视图项),确保一切顺利,titleTvTextView

【讨论】:

【参考方案2】:

因为 setText() 方法是在 textview 上设置的,而不是在 imageView 上

【讨论】:

以上是关于无法解析 imageView 中的方法 setText()的主要内容,如果未能解决你的问题,请参考以下文章

无法在 tableview 单元格中显示解析的 imageView

Android imageview id无法解析,

ImageView显示图像控件

无法将图像从ImageView上传到Android中的FireBase存储

无法在 ImageView 上使用 setForeground 方法 [重复]

android控件ImageView中的图片无法置底问题