Welcome to the Treehouse Community
The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

Diego Marrs
8,243 PointsReturn type?
Hello
I'm stuck on this challenge, i'm doing what it tells me to do but I get an error anyway:
./GameAdapter.java:29: error: invalid method declaration; return type required
public HourViewHolder(View itemView) {
^
1 error
Code:
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 HourViewHolder(View itemView) {
super(itemView);
mTitleLabel = (TextView) itemView.findViewById(R.id.titleLabel);
}
}
}
Please help!
1 Answer

Benjamin Barslev Nielsen
18,958 PointsThe problem is what is supposed to be your constructor in the innerclass GameViewHolder:
public HourViewHolder(View itemView) {
super(itemView);
mTitleLabel = (TextView) itemView.findViewById(R.id.titleLabel);
}
A constructor should have the same name as the class, it is a constructor for, in this case GameViewHolder. Therefore the solution would be:
public GameViewHolder(View itemView) {
super(itemView);
mTitleLabel = (TextView) itemView.findViewById(R.id.titleLabel);
}
When you do not use the correct name, the Java compiler assumes it is a ordinary method and if it was a ordinary method, a return type was needed.
Diego Marrs
8,243 PointsDiego Marrs
8,243 PointsAw man! I meant to put in GameViewHolder! X(
Thanks though!