gpt4 book ai didi

android - onBindViewHolder 使用 RecyclerView 在 setText 处崩溃

转载 作者:行者123 更新时间:2023-11-29 18:33:49 25 4
gpt4 key购买 nike

我正在尝试实现自定义 RecyclerView.Adaper 以用于虚拟/POC RecyclerView 应用程序。我正在使用 this教程。我的模型名为 Movie 并且有两个字段:

@NonNull
@PrimaryKey
private String name;

@NonNull
private Integer releaseYear;

所以我有这门课

MovieAdapter extends RecyclerView.Adapter<MovieAdapter.MyViewHolder>

覆盖 onCreateViewHolderonBindViewHoldergetItemCount 并定义 MyViewHolder extends RecyclerView.ViewHolder

当调试行位于 onBindViewHolder 的最后一行时:

// Involves populating data into the item through holder
@Override
public void onBindViewHolder(@NonNull MyViewHolder viewHolder, int position) {
// Get the data model based on position
Movie movie = movies.get(position);

// Set item views based on your views and data model
TextView tvMovieName = viewHolder.tvMovieName;
tvMovieName.setText(movie.getName());

TextView tvMovieReleaseYear = viewHolder.tvMovieReleaseYear;
tvMovieReleaseYear.setText(movie.getReleaseYear());
}

我明白了

Process: br.com.basicfeatures, PID: 2555
android.content.res.Resources$NotFoundException: String resource ID #0x7cf
at android.content.res.Resources.getText(Resources.java:348)
at android.widget.TextView.setText(TextView.java:5831)
at br.com.basicfeatures.presentation.adapter.MovieAdapter.onBindViewHolder(MovieAdapter.java:45)
at br.com.basicfeatures.presentation.adapter.MovieAdapter.onBindViewHolder(MovieAdapter.java:15)

这是 MyViewHolder:

protected class MyViewHolder extends RecyclerView.ViewHolder {
private TextView tvMovieName;
private TextView tvMovieReleaseYear;

private MyViewHolder(@NonNull View itemView) {
super(itemView);
this.tvMovieName = itemView.findViewById(R.id.id_tv_movie_name);
this.tvMovieReleaseYear = itemView.findViewById(R.id.id_tv_movie_release_year);
}
}

最佳答案

这是因为 movie.getReleaseYear() 返回一个整数,所以 tvMovieReleaseYear.setText 试图找到不存在的相应资源文件。所以你需要的是将 movie.getReleaseYear() 转换为 String

tvMovieReleaseYear.setText(movie.getReleaseYear() + "");

关于android - onBindViewHolder 使用 RecyclerView 在 setText 处崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55134108/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com