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 trial

Android Build an Interactive Story App (Retired) User Input Using RelativeLayouts and ImageViews

Reagan Tumalon
Reagan Tumalon
712 Points

android:layout_below - what am i missing out here

So i have been stuck here on how to make the ImagView positioned directly below the EditText using the android:layout_below attribute and using the id set on the EditText.

activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <EditText
        android:id="@+id/captionField"
        android:layout_alignParentTop="true"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:hint="Enter a caption" />


    <ImageView
        android:id="@+id/imageView1"
        android:layout_below="@+id/captionField"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:src="@drawable/grumpy_cat" />

</RelativeLayout>

2 Answers

andren
andren
28,558 Points

The problem is the id value you use @+id/captionField when you reference an existing id you are not meant to add the + symbol between @ and id. The + is used to tell android that you are creating a new id, rather than referencing an existing one. If you drop it like this:

<ImageView
        android:id="@+id/imageView1"
        android:layout_below="@id/captionField"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:src="@drawable/grumpy_cat" />

Then your code will pass the task.

Reagan Tumalon
Reagan Tumalon
712 Points

Thank you for the answer.