Использование тега <include>в LinearLayout - PullRequest
0 голосов
/ 27 января 2012

Из того, что я понимаю, тег <include> - это в основном копирование и вставка, поэтому я создал представление с парой textviews в нем, и я повторяю это несколько раз

<LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal" 
        android:background="#000000">

            <include android:id="@+id/frame_one" layout="@layout/frame_layout_normal"/>
            <include android:id="@+id/frame_two" layout="@layout/frame_layout_normal"/>
            <include android:id="@+id/frame_three" layout="@layout/frame_layout_normal"/>
            <include android:id="@+id/frame_four" layout="@layout/frame_layout_normal"/>
            <include android:id="@+id/frame_five" layout="@layout/frame_layout_normal"/>
            <include android:id="@+id/frame_six" layout="@layout/frame_layout_normal"/>
            <include android:id="@+id/frame_seven" layout="@layout/frame_layout_normal"/>
            <include android:id="@+id/frame_eight" layout="@layout/frame_layout_normal"/>
            <include android:id="@+id/frame_nine" layout="@layout/frame_layout_normal"/>
            <include android:id="@+id/frame_ten" layout="@layout/frame_layout_last"/>

    </LinearLayout> 

, теперь мой вопросКак я могу изменить текст textview индивидуально для каждого из тегов включения, которые я создал?

, очевидно, мне нужно получить идентификатор вида макета, но я не уверен, что делать после этого?

это все что есть в frame_layout_normal

    <TextView android:layout_height="50dp"
    android:id="@+id/frame_name"
    android:layout_width="121dip"
    android:layout_alignParentTop="true"
    android:gravity="center"
    android:textColor="#000000"
    android:layout_marginTop="2dip"
    android:background="#ffffff"
    android:textAppearance="?android:attr/textAppearanceLarge"/>

<TextView android:id="@+id/frame_number"
    android:layout_height="50dp"
    android:layout_width="121dip"
    android:layout_below="@+id/frame_name"
    android:gravity="center"
    android:textColor="#000000"
    android:layout_marginTop="2dip"
    android:background="#ffffff"
    android:textAppearance="?android:attr/textAppearanceLarge"/>

1 Ответ

1 голос
/ 27 января 2012

Это должно работать, если вы оберните содержимое frame_layout_normal в LinearLayout:

LinearLayout frameOne = (LinearLayout) findViewById(R.id.frame_one);
TextView frameOneName = (TextView) frameOne.findViewById(R.id.frame_name);

<include> позволяет вам установить идентификатор для элемента верхнего уровня, который вы уже делаете, поэтому просто используйте эти идентификаторы, чтобы получить ваши кадры.

...