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

ビュー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 フラグメントは 1 つだけにしました。これを使用してください- これにより、必要なクラスと冗長コードの量が大幅に削減されます。

于 2012-06-20T21:20:26.437 に答える