我有大约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);
答案 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 - 它将大大减少所需的类和冗余代码的数量。