Android 使用RecyclerView获取资源$NotFoundException
我得到以下错误:Android 使用RecyclerView获取资源$NotFoundException,android,android-recyclerview,Android,Android Recyclerview,我得到以下错误: android.content.res.Resources$NotFoundException: String resource ID #0x0 我正在使用RecyclerView创建一个数字列表: import android.content.Context; import android.support.v7.widget.RecyclerView; import android.util.Log; import android.view.LayoutInflater;
android.content.res.Resources$NotFoundException: String resource ID #0x0
我正在使用RecyclerView
创建一个数字列表:
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
public class SongRVAdapter extends RecyclerView.Adapter<SongViewHolder> {
private Context context;
public SongRVAdapter(Context context) {
this.context = context;
}
@Override
public SongViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.song_info_row, parent, false);
return new SongViewHolder(view);
}
@Override
public void onBindViewHolder(SongViewHolder holder, int position) {
Log.d("CodeKamp", "onBindViewHolder called for position " + position);
holder.titleTextView.setText(position);
holder.durationTextView.setText("00:" + position);
}
@Override
public int getItemCount() {
return 10;
}
}
导入android.content.Context;
导入android.support.v7.widget.RecyclerView;
导入android.util.Log;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.TextView;
公共类SongrAdapter扩展了RecyclerView.Adapter{
私人语境;
公共SongrAdapter(上下文){
this.context=上下文;
}
@凌驾
public SongViewHolder onCreateViewHolder(视图组父级,int-viewType){
LayoutFlater充气器=(LayoutFlater)context.getSystemService(context.LAYOUT\u充气器\u服务);
视图=充气机。充气(R.layout.song\u info\u行,父项,false);
返回新的SongViewHolder(视图);
}
@凌驾
BindViewHolder上的公共无效(SongViewHolder,内部位置){
Log.d(“CodeKamp”,“onBindViewHolder调用位置”+位置);
holder.titleTextView.setText(位置);
holder.durationTextView.setText(“00:+位置”);
}
@凌驾
public int getItemCount(){
返回10;
}
}
您不能将int
值传递给setText()
,否则它将尝试查找与int
ID匹配的字符串资源。因此
holder.titleTextView.setText(position);
需要改成
holder.titleTextView.setText(String.valueOf(position));
要将
position
转换为字符串。询问了无数次TextView.setText
并使用int作为参数,需要现有字符串资源id。。。您正在传递的0不是有效的字符串资源id。。。