2 つの ListView を含む Fragment があります。それぞれに EmptyView を設定しようとしています。@id/android:empty を使用して XML 経由で、およびコード経由でそれらを追加しようとしましたが、どちらも無視されます。
2 つの ListViews と別の Empty View で動作するようになった人はいますか?
2 つの ListView を含む Fragment があります。それぞれに EmptyView を設定しようとしています。@id/android:empty を使用して XML 経由で、およびコード経由でそれらを追加しようとしましたが、どちらも無視されます。
2 つの ListViews と別の Empty View で動作するようになった人はいますか?
@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"
/>
...
これが役立つことを願っています!
それは機能しています。View
(空の状態の場合) がレイアウトに追加されていることを確認する必要がありますListView
。
また、空のビューを表示するには、true である必要がありますAdapter
。ListView
null
isEmpty()
それでも問題が解決しない場合は、コードを投稿してください。