一个活动问题中的相同片段

时间:2011-07-22 18:15:35

标签: android android-fragments

我正在用片段编写我的第一个Android应用程序,这是我的问题。我有主要活动和3个片段。所有3个片段都是同一个类,因此所有3个片段具有相同的布局。但我需要每个片段在该布局中具有不同的标题。但我无法选择我需要的TextView,因为所有这些碎片TextViews具有相同的ID,因为相同的布局。有没有简单的方法来做到这一点。

感谢名单

3 个答案:

答案 0 :(得分:4)

鉴于您的片段f1f2f3,您可以尝试f1.getView().findViewById(id)f2.getView().findViewById(id)f3.getView().findViewById(id)来缩小范围每次只搜索那个特定的片段。

但是,我认为使用Fragments的目的是改进模块化并避免必须将所有视图公开给Activity。它可以由Fragment控制。您可以在Fragment中解析视图,然后在Fragment上为活动提供setTitle()方法。

答案 1 :(得分:1)

ID应该无关紧要,因为每个类都会膨胀自己的布局实例。尝试使用相同的ID。

答案 2 :(得分:-1)

如果在'fragment'下你是指一个UI组件,你应该为你的布局中的每个组件指定不同的ID!

<LinearLayout
    android:id="@+id/LinearLayout"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >

    <TextView
        android:id="@+id/header"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:background="#ff0000"
        android:text="Header"
        />

    <TextView
        android:id="@+id/body"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:background="#00ff00"
        android:text="Body"
        />

     <TextView
        android:id="@+id/footer"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:background="#0000ff"
        android:text="Footer"
        />

</LinearLayout>

如果你指的是主xml布局中的其他xml片段,你可以使用相同的ID,但是使用不同的xml片段!