在通货膨胀时设置片段类

时间:2012-06-20 20:58:50

标签: android android-fragments

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

<?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);

2 个答案:

答案 0 :(得分:1)

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

的事情
YourFragment details = new YourFragment();
getFragmentManager().beginTransaction().add(R.id.container, details).commit();
编辑:作为一个说明。我不相信你真的想要同时修改60个片段并保留它们并将它们保存在内存中。你需要问自己的问题是“这需要它自己的生命周期吗?”如果答案为否,那么您可以创建自定义视图。

答案 1 :(得分:0)

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