Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialZachary Lynch
6,455 PointsHaving trouble with third challenge
I can't seem to pass the third challenge in this exercise. I keep running into the error: "In the view holder, you must call 'findViewById()' on the view passed in." I'm not sure which ID to put into the findViewById?
public class GameAdapter extends RecyclerView.Adapter<GameAdapter.GameViewHolder> {
private Game[] mGames;
public GameAdapter(Game[] games) {
mGames = games;
}
@Override
public GameViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
return null;
}
@Override
public void onBindViewHolder(GameViewHolder holder, int position) {
// code omitted for brevity
}
@Override
public int getItemCount() {
return 0;
}
/* Add your code here */
public class GameViewHolder extends RecyclerView.ViewHolder{
public TextView mTitleLabel;
public GameViewHolder(View v){
mTitleLabel = findViewById(R.id.titleLabel);
}
}
}
1 Answer
Elias Svoba
14,347 PointsHi Zach you were almost close but you forgot to add to cast your view to a TextView and also adding the itemView on this line "mTitleLabel = findViewById(R.id.titleLabel);" so it should look like:
public class GameViewHolder extends RecyclerView.ViewHolder{
public TextView mTitleLabel;
public GameViewHolder(View itemView) {
mTitleLabel = (TextView) itemView.findViewById(R.id.titleLabel);
}
}
Happy Coding!