简体   繁体   English

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

[英]Cannot resolve method setText() in imageView

I'm trying to do a simple project with Recyclerview and Cardview in Android Studio following this tutorial .我正在尝试按照本教程在 Android Studio 中使用 Recyclerview 和 Cardview 做一个简单的项目。 But I'm getting an error in onBindViewHolder function line 32 saying it can't resolve the method setText() in imageView and I don't know why since mTitle is not an ImageView and it is a TextView :但我发现了一个错误onBindViewHolder功能线32说,它不能解析的方法setText()imageView ,我不知道为什么,因为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 : 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);
    }
}

Your mTile is not a TextView it is a ImageView .你的mTile不是一个TextView它是一个ImageView Change it to this:改成这样:

ImageView mImaeView; 
TextView mTitle;

And make sure that itemView.findViewById(R.id.titleTv);并确保itemView.findViewById(R.id.titleTv); returns TextView .返回TextView Check in Your xml file (recycler view item) that You made it eveything well and titleTv is a TextView检查您的 xml 文件(回收站视图项),您已经做好了一切,并且titleTv是一个TextView

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM