1

I'm getting the following error:

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

I am just creating a number list using 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;
    }
}
Paul-Jan
  • 16,746
  • 1
  • 63
  • 95
  • 2
    asked bazillion times `TextView.setText` with int as parameter need existing string resource id ... you are passing 0 which is not valid string resource id ... – Selvin Jan 23 '17 at 17:30

1 Answers1

7

You can't pass int values to setText(), else it will try and look up a String resource matching that int ID. So

holder.titleTextView.setText(position);

needs to be changed to

holder.titleTextView.setText(String.valueOf(position));

to convert position into a String.

Michael Dodd
  • 10,102
  • 12
  • 51
  • 64