使用 TextView.setText 显示数据时出错:Resources$NotFoundException:String 资源 ID #0x0 [英] Error in displaying data with TextView.setText: Resources$NotFoundException: String resource ID #0x0

查看:20
本文介绍了使用 TextView.setText 显示数据时出错:Resources$NotFoundException:String 资源 ID #0x0的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我收到此异常:

android.content.res.Resources$NotFoundException: String resource ID #0x0

异常堆栈跟踪指向适配器类中的这一行:

The exception stack trace points to this line in the adapter class:

holder.no_of_sems.setText(cgpa.getNo_of_sems());

这是我的适配器类:

public class adapter_cgpa extends RecyclerView.Adapter<adapter_cgpa.Viewholder> {
    ArrayList<POJO> cgpaArrayList;

    public adapter_cgpa(ArrayList<POJO> cgpaArrayList) {
        this.cgpaArrayList = cgpaArrayList;
    }

    @NonNull
    @Override
    public adapter_cgpa.Viewholder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View listitem = LayoutInflater.from(parent.getContext()).inflate(R.layout.recycler_cgpa, parent, false);
        return new Viewholder(listitem);
    }

    @Override
    public void onBindViewHolder(@NonNull adapter_cgpa.Viewholder holder, int position) {
        POJO cgpa= cgpaArrayList.get(position);
        holder.no_of_sems.setText(cgpa.getNo_of_sems());
    }

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

    public class Viewholder extends RecyclerView.ViewHolder {
        TextView cname, no_of_sems, cgpa, percentage,schemec;
        ImageButton btndelete2;

        public Viewholder(@NonNull View itemView) {
            super(itemView);
            no_of_sems=(TextView)itemView.findViewById(R.id.no_of_sem);
        }
    }
}

这是我的 POJO 类:

This is my POJO class:

public class POJO {
    int no_of_sems;

    public void setNo_of_sems(int no_of_sems) {
        this.no_of_sems = no_of_sems;
    }

    public int getNo_of_sems() {
        return no_of_sems;
    }
}

推荐答案

你不小心调用了 采用 int 资源 IDTextView.setText 版本.

You're accidentally calling the version of TextView.setText that takes an int resource ID.

您应该将其显式转换为String:

You should explicitly convert it to a String:

holder.no_of_sems.setText(Integer.toString(cgpa.getNo_of_sems()));

这篇关于使用 TextView.setText 显示数据时出错:Resources$NotFoundException:String 资源 ID #0x0的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆