2

突然之间,我开始对我的 RelativeLayout 有问题。问题是它不想识别此 RelativeLayout 中使用 ID 定义的其他视图:错误消息(在线android:layout_alignBaseline="@id/editText3")是:错误:未找到与给定匹配的资源名称(在“layout_alignBaseline”处,值为“@id/editText3”)。

 <RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_margin="10dp" >

    <TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@id/editText3"
        android:text="Predaj: "
        android:textSize="25dp" />

    <EditText
        android:id="@+id/editText3"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/textView3"
        android:inputType="numberDecimal"
        android:singleLine="true"
        android:textSize="25dp"
        android:textStyle="bold"
        android:editable="false"
        android:textIsSelectable="true" />
</RelativeLayout>

我无法理解似乎是什么问题 - 我已经尝试清理、重建、重新启动 PC、删除和重新创建整个文件(R.java 也是如此),但错误不会消失。当我删除这行代码时,一切正常(对齐除外)。我有一种感觉,这是因为“textView3”是在“editText3”之前定义的,但在过去的几天里它是这样工作的。感谢您的建议 - 非常感谢

4

4 回答 4

3

感谢弗朗西斯科·加托。它确实有助于在 TextView 中为 EditText 创建变量,因此代码现在看起来非常相似但实际上可以工作。

<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_margin="10dp" >



     <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/editText1"
        android:text="Cena: "
        android:textSize="25dp" />

    <EditText
        android:id="@id/editText1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/textView1"
        android:inputType="numberDecimal"
        android:singleLine="true"
        android:textSize="25dp"
        android:textStyle="bold" />

</RelativeLayout>

所以我在分配 layout_alignBaseline="@+id/editText" 时已经创建了 edittext 变量,然后在 EditText 中我使用了相同的 id(不再创建它)。

于 2013-04-21T10:21:01.170 回答
1

您是否尝试清理项目?

或者尝试在 alignbaseline 中写 +@id

于 2013-04-20T23:14:11.627 回答
0

在你声明它之后引用它,看看是否能平息错误。还有你在声明之前提到的事情。似乎您需要一些可视文本,然后是一个框,以便用户可以在 textview 右侧编辑文本。在 RelativeLayouts 中,让第一个视图自动布局,或者您可以将其布局与父级相关。IE。(安卓:layout_alignParentLeft)。在 RelativeLayouts 中,我们使用 firstview 作为我们的起始参考点,而不是父容器。我调整了您的代码,请告知是否有意义:

 <RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_margin="10dp" >



    <EditText
        android:id="@+id/editText3"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:inputType="numberDecimal"
        android:singleLine="true"
        android:textSize="25dp"
        android:textStyle="bold"
        android:editable="false"
        android:textIsSelectable="true" />


<TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@id/editText3"
        android:layout_alignBaseline="@id/editText3"
        android:text="Predaj: "
        android:textSize="25dp" />

</RelativeLayout>
于 2013-04-20T23:37:35.653 回答
0

我知道它已经很晚了,但它可能会帮助有同样问题的人。

EditText上面的TextView. 它不会影响您正在做的事情的外观,因为它是一个RelativeLayout.

简单来说,Gradle 会扫描代码的每一行,因为它没有找到您提到的 ID,所以会显示错误。

以前的答案也是正确的,但这实现起来要简单得多。

于 2015-05-27T23:55:34.787 回答