<include>标记覆盖属性

Lee*_*fin 5 android android-widget android-intent android-layout

如果我有一个布局文件=> res/layout/item.xml:

<?xml version="1.0" encoding="utf-8"?>            
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="60dp"

>

    <TextView
        android:id="@+id/name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="John"
        />

    <TextView  
        android:id="@+id/age"
        android:layout_width="fill_parent"
        android:layout_height="26dip" 
        android:text="29" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

我有另一个布局文件,其内容包括以上几项=> res/layout/main.xml:

<?xml version="1.0" encoding="utf-8"?>            
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="60dp"
        android:orientation="vertical"        
    >

    <!--How can I override "name" and "age" attribute in the included item layout-->        

    <include android:id="@+id/student" layout="@layout/tem" />

    <include android:id="@+id/teacher" layout="@layout/item" />

    <include android:id="@+id/other" layout="@layout/item" />

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

如上所示,我使用<include>tag来包含相同的布局.但是,我怎么能重写" name"和" age中所包含的"文本值item.xmlmain.xml中包含的每个项目?

小智 1

I hope this will work.

View v=(View)findviewbyid(R.id.student);

Textview name=(TextView)v.findviewbyid(R.id.name);

Textview age=(TextView)v.findviewbyid(R.id.age);
Run Code Online (Sandbox Code Playgroud)