我试图在xml中添加两次相同的id(彼此相邻),但是它一直向我显示错误并且没有按预期工作。(我想将这两个代码块放在每个旁边其他而不是一个在另一个之下,我对android很新,并且对此没有任何线索,任何想法?
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:foo="http://schemas.android.com/apk/res/com.justin.jar"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#004D79"
>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="@dimen/news_headline_padding" >
<com.justin.jar.utils.FontTextView
android:id="@+id/news_headline_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="3"
android:paddingLeft="@dimen/common_left_padding"
android:paddingRight="5dp"
android:textSize="16sp"
foo:customFont="cabin.medium.ttf"
android:textColor="@color/search_autosuggest_header_text"
android:layout_toRightOf="@id/news_headline_image" />
<com.justin.jar.utils.FontTextView
android:id="@+id/metadata"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/search_autosuggest_item_subtitle"
android:textSize="12sp"
android:paddingLeft="@dimen/common_left_padding"
android:paddingRight="5dp"
android:layout_alignLeft="@id/news_headline_text"
android:layout_toRightOf="@id/news_headline_image"
android:layout_below="@id/news_headline_text"
/>
<ImageView
android:id="@+id/news_headline_image"
android:layout_width="107dp"
android:layout_height="80dp"
android:background="@drawable/container_dropshadow"
android:paddingLeft="1dp"
android:paddingRight="1dp"
android:paddingTop="1dp"
android:paddingBottom="1dp"
android:layout_alignParentLeft="true"
android:layout_marginLeft="@dimen/common_left_padding"
android:contentDescription="@string/headline_image"
/>
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="@dimen/news_headline_padding" >
<com.justin.jar.utils.FontTextView
android:id="@+id/news_headline_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="3"
android:paddingLeft="@dimen/common_left_padding"
android:paddingRight="5dp"
android:textSize="16sp"
foo:customFont="cabin.medium.ttf"
android:textColor="@color/search_autosuggest_header_text"
android:layout_toRightOf="@id/news_headline_image" />
<com.justin.jar.utils.FontTextView
android:id="@+id/metadata"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/search_autosuggest_item_subtitle"
android:textSize="12sp"
android:paddingLeft="@dimen/common_left_padding"
android:paddingRight="5dp"
android:layout_alignLeft="@id/news_headline_text"
android:layout_toRightOf="@id/news_headline_image"
android:layout_below="@id/news_headline_text"
/>
<ImageView
android:id="@+id/news_headline_image"
android:layout_width="107dp"
android:layout_height="80dp"
android:background="@drawable/container_dropshadow"
android:paddingLeft="1dp"
android:paddingRight="1dp"
android:paddingTop="1dp"
android:paddingBottom="1dp"
android:layout_alignParentLeft="true"
android:layout_marginLeft="@dimen/common_left_padding"
android:contentDescription="@string/headline_image"
/>
</RelativeLayout>
</FrameLayout>
这是我想要的一个例子 http://i.stack.imgur.com/TgfZl.png
[1]:
答案 0 :(得分:2)
ID
任何View对象都可以具有与之关联的整数ID,以便唯一 识别树中的视图。
更改一个id
。例如
<com.justin.jar.utils.FontTextView
android:id="@+id/news_headline_text_right"
我相信,您可以在不同的View
文件中使用id
resource
findViewById()
,但我认为这不是一个好主意。但是在树中它们必须是唯一的,否则当您尝试使用{{1}}
答案 1 :(得分:0)
ID 无法在一个XML文档中多次使用。它们必须是独一无二的。
答案 2 :(得分:0)
ID proprety必须是项目中每个对象的唯一属性。因此,如果您使用相同的ID创建两个或更多对象,则不会生成任何错误,但编译器将使用他遇到的第一个。为什么你还需要这个呢?