从布局获取具有重复ID的视图

时间:2018-08-23 16:23:30

标签: android android-layout android-view android-include

我想显示以下五次

<TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/title"/>

<TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/message"/>

<Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/add"/>

<View
        android:layout_width="match_parent"
        android:layout_height="@dimen/separator_height"
        android:background="@color/separator"/>

因此我将其存储在data_item.xml中,并尝试通过

进行调用
<LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:id="@+id/data_one"
        android:layout_height="match_parent">

    <include layout="@layout/data_item"/>

</LinearLayout>

<LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:id="@+id/data_two"
        android:layout_height="match_parent">

    <include layout="@layout/data_item"/>

</LinearLayout>

但是,如果我这样做,那么data_item.xml布局中的所有项目都将具有重复的ID。我将如何确保它们没有重复的ID,或者至少以某种方式检索它们?假设我想从data_three班轮布局中获取标题视图文本。我该怎么办?

1 个答案:

答案 0 :(得分:2)

第一个问题是为什么不使用function MyFunction({match}) { return <div> <h1>Something</h1> <p>{JSON.stringify(match)}</p> </div>; } MyFunction.PropTypes = { match: PropTypes.object, }; 而是在适配器中设置值?这个更好。

但是,如果必须以这种方式设计布局,则首先必须从LinearLayout中获取引用,然后使用LinearLayout引用来查找视图,如下所示:

ListView