1

我有大约 60 个片段“ ListFragment”,现在我将每个 Listfragment 与同一个布局文件中的另一个片段一起使用,就像这样。

<?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="fill_parent"
    android:orientation="horizontal" >

        <fragment
            android:id="@+id/carDetailedFragment"
            android:name="com.ui.fragment.CarDetailedFragment"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" />

    <fragment
        android:id="@+id/carcategorylistfragment"
        android:name="com.ui.fragment.CarCategoryListFragment"
        android:layout_width="0dp"
        android:layout_height="fill_parent"
        android:layout_weight="1" />

</LinearLayout> 

问题是:我需要为每个片段制作 60 个布局文件还是可以制作一个包含 2 个片段的模板布局并设置它们的类

android:name

通货膨胀时的属性,例如为 View ex 设置属性

setContentView(R.layout.somelayout);
View v = findViewById(R.id.src);
v.setVisibility(View.GONE);
4

2 回答 2

1

是的,但您只能在 Java 代码中执行此操作。在您的 XML 中,您必须为片段提供某种容器。我相信我只是使用 FrameLayout。然后你可以做类似的事情

YourFragment details = new YourFragment();
getFragmentManager().beginTransaction().add(R.id.container, details).commit();

编辑:作为说明。我不相信你真的想一次更新 60 个片段并将它们保存在内存中。您需要问自己的问题是“这需要它自己的生命周期吗?” 如果答案是否定的,那么您可以创建一个自定义视图。

于 2012-06-20T21:04:41.503 回答
0

我有大量的 ListView 活动布局,并且我只需要一个 ListView 片段。使用它——它将大大减少所需的类和冗余代码的数量。

于 2012-06-20T21:20:26.437 回答