(找不到id引用)没有资源匹配给定的名称

J50*_*J50 12 android android-layout android-xml

我在相对布局中有以下内容.

<TextEdit
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@id/buttonA"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_toLeftOf="@id/buttonA" />

<Button
    android:id="@+id/buttonA"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:text="@string/message" >
</Button>
Run Code Online (Sandbox Code Playgroud)

Eclipse在线路android:layout_alignBottom ="@ id/buttonA"和android:layout_toLeftOf ="@ id/buttonA"分别给出了这些错误:

错误:错误:找不到与给定名称匹配的资源(在'layout_alignBottom'中,值为'@id/buttonA').

错误:错误:找不到与给定名称匹配的资源(在'layout_toLeftOf'中,值为'@id/buttonA').

用@ + id/buttonA替换@ id/buttonA会删除此eclipse错误消息.这是正确的做法吗?如果是这样,为什么会这样呢?@ + id不会创建新的ID吗?我不想要新的身份证.我想使用按钮对象中引用的那个.处理这个问题的最佳方法是什么?

多谢你们.-Joe

K-b*_*llo 31

使用@+id是正确的方法.@+id创建一个新的id,但仅当具有该名称的id尚不存在时.

如果你不想这样做,对于这个特殊的简单情况,移动TextEdit下面的就足够了Button.

  • 我会交换它们,所以id引用看起来很好.谢谢.为什么@ + id会起作用?我不是要创建一个新的id资源,而是引用稍后定义的资源. (2认同)