据我所知,@ + id和@id之间的区别在于首次创建资源ID并在不同的地方重用已存在的资源ID。例如,如果我们有一个相对布局有两个textViews一个在另一个下面,我们将使用@resourceId作为第二个textView引用第一个TextView。 问题是,在将android studio更新为3.0后,@ resourceId不再工作了。要将第二个textView放在第一个下面,我需要使用@ + firstTextViewId而不是@firstTextViewId。更具体地说,我需要使用,
android:layout_below="@+id/totalQty"
而不是
android:layout_below="@id/totalQty"
这是代码
<RelativeLayout
android:id="@+id/relBottomLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true">
<TextView
android:id="@+id/totalQty"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="abcdef"/>
<TextView
android:id="@+id/totalPrice"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/totalQty"
android:text="saasdfdsdfsdf"/>
<TextView
android:id="@+id/totalNetPrice"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/totalPrice"
android:text="abcdsadfsafddgfdgfgdef"
/>
</RelativeLayout>
这是一个理解问题吗?或任何目的的问题?有人可以解释一下吗?
答案 0 :(得分:0)
I just remove + sign at @+id from your code. Here's the updated code
<RelativeLayout android:id="@+id/relBottomLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
xmlns:android="http://schemas.android.com/apk/res/android">
<TextView
android:id="@+id/totalQty"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="abcdef"/>
<TextView
android:id="@+id/totalPrice"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/totalQty"
android:text="saasdfdsdfsdf"/>
<TextView
android:id="@+id/totalNetPrice"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/totalPrice"
android:text="abcdsadfsafddgfdgfgdef"
/>
</RelativeLayout>