1

2 つの ListView を含む Fragment があります。それぞれに EmptyView を設定しようとしています。@id/android:empty を使用して XML 経由で、およびコード経由でそれらを追加しようとしましたが、どちらも無視されます。

2 つの ListViews と別の Empty View で動作するようになった人はいますか?

4

2 に答える 2

0

@Leandros は正しい軌道に乗っていると思います。各リストが正しく設定されていることを確認する必要があります。@id/android:empty同じxmlで2回定義すると、不一致が発生する可能性があります。それらに一意の ID を与えてから、それらを Java.

xml は次のようになります。

...
<LinearLayout 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    >
    <ListView 
        android:id="@+id/list1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        />
    <TextView 
        android:id="@+id/empty1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="List 1 is empty"
        />
</LinearLayout>

<LinearLayout 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    >
    <ListView 
        android:id="@+id/list2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        />
    <TextView 
        android:id="@+id/empty2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="List 2 is empty"
        />
</LinearLayout>
...

次に、フラグメントで、ビューを取得してアタッチする必要があります。

...
    ListView list1 = (ListView)findViewById(R.id.list1);
    View empty1 = findViewById(R.id.empty1);
    list1.setEmptyView(empty1);

    ListView list2 = (ListView)findViewById(R.id.list2);
    View empty2 = findViewById(R.id.empty2);
    list2.setEmptyView(empty2);
...

さらに複雑な空のビューが本当に必要な場合は、TextView の代わりに別のレイアウトを xml に含めることができます。

...
    <include layout="@layout/empty" 
        android:id="@+id/list1"
        />
...
    <include layout="@layout/empty" 
        android:id="@+id/list2"
        />
...

これが役立つことを願っています!

于 2014-06-27T21:32:11.340 に答える
0

それは機能しています。View(空の状態の場合) がレイアウトに追加されていることを確認する必要がありますListView

また、空のビューを表示するには、true である必要がありますAdapterListViewnullisEmpty()

それでも問題が解決しない場合は、コードを投稿してください。

于 2013-01-25T14:31:07.680 に答える