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 trialJ A
Full Stack JavaScript Techdegree Student 4,646 PointsButterKnife Code Challenge does not compile with annotations.
The first code challenge with ButterKnife doesn't compile with the following code and error message:
Compiler Output
./MovieActivity.java:7: error: cannot find symbol
@InjectView(R.id.movieTitle) TextView mTitleLabel;
^
symbol: class InjectView
location: class MovieActivity
./MovieActivity.java:8: error: cannot find symbol
@InjectView(R.id.movieImage) ImageView mMovieImage;
^
symbol: class InjectView
location: class MovieActivity
2 errors
The weird thing is that this code works fine in a later code challenge that builds on top of this code.
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import android.widget.ImageView;
public class MovieActivity extends Activity {
@InjectView(R.id.movieTitle) TextView mTitleLabel;
@InjectView(R.id.movieImage) ImageView mMovieImage;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_movie);
ButterKnife.inject(this);
// The rest of the code is omitted for brevity :)
ButterKnife.inject(this);
}
}
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white" >
<TextView
android:id="@+id/movieTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="32sp"
android:text=""
android:layout_centerHorizontal="true"
android:layout_centerVertical="true" />
<ImageView
android:id="@+id/movieImage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@id/movieTitle" />
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/movieTitle"
android:layout_centerHorizontal="true"
android:id="@+id/linearLayout">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text=""
android:id="@+id/textView"
android:layout_weight="1"
android:gravity="left" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text=""
android:id="@+id/textView2"
android:layout_weight="1"
android:gravity="right" />
</LinearLayout>
</RelativeLayout>
1 Answer
Seth Kroger
56,413 PointsI took a look at the challenge. It's accepting the current annotation @BindView
though it's inconsistent with with asking for ButterKnife.inject()
instead of ButterKnife.bind()
in the first step.
J A
Full Stack JavaScript Techdegree Student 4,646 PointsJ A
Full Stack JavaScript Techdegree Student 4,646 PointsThanks for checking Seth! I thought I was going crazy.