2

我试图关联小部件,我将代码编写如下:

<RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="90dp"
        android:background="@drawable/ad1"
        android:orientation="horizontal" >

        <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="@drawable/ad1"
        android:orientation="horizontal"
        android:layout_toStartOf="@id/bt_menu" > // here there is error !!!!

        <EditText
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:hint="Menu "
        android:inputType="textVisiblePassword"/>
            </RelativeLayout>

        <ImageButton 
                 android:id="@+id/bt_menu" 
                 android:layout_width="50dp"
                 android:layout_height="50dp" 
                 android:layout_alignParentRight="true"
                 android:layout_alignParentTop="true"
                 android:background="@android:color/transparent"
                 android:scaleType="fitCenter" 
                 android:src="@drawable/menu5"
                 android:onClick="menu_onclick"/>
        </RelativeLayout>

我在这一行有一个错误:

android:layout_toStartOf="@id/bt_menu"

错误是:找不到与给定名称匹配的资源(在“layout_toStartOf”处,值为“@id/bt_menu”)

任何人都可以帮助我吗?!!!

提前谢谢你..法德尔。

4

2 回答 2

5

将其更改为

 android:layout_toStartOf="@+id/bt_menu" >

添加“+”

如果它在layout您引用之前,那么 Eclipse 似乎在它被保存之前并不知道它。运行一次后,您应该能够将其更改回您的状态。但我不知道离开它会伤害什么。如果我使用一个属性,例如layout_below但将它放在View我希望它相对于或类似的东西之前,我会这样做,但我只是离开它。

可能有更好的方法来处理这个 Eclipse 或您使用的任何编辑器,但是 AFAIK,这是最简单的,我不知道它有任何不良影响。

于 2013-10-04T20:30:20.977 回答
0

在我看来,两次使用“@+id/”并不是最好的方法。您可能会收到 R.java 文件的错误。您遇到的问题是,您在设置之前使用了 id。

解决方案:

  1. 首先定义 id

    android:layout_toStartOf="@+id/bt_menu"

  2. 使用标识

    android:id="@id/bt_menu"

于 2014-11-09T17:11:52.113 回答