ListViewが空の場合は速やかに処理します。


モバイル開発ではしばしばリストに表示されますが、リストに対して私たちがよく使うのはListViewコントロールです。リストを表示する場合、通常は2つの場合があります。
一、リストはいっぱいです。
二、リストが空です。
データがない時はどうすればいいですか?簡単な方法で問題を解決できます。見てみます。
ListViewや他のAdapterViewから継承されているクラスは、setEmptyView(View)メソッドを使って空の状態での表示を設定することができます。AdapterViewを描画したアダプターが空またはisEmpty方法でtrueに戻ると、setEmptyViewメソッドで設定されたビューが表示されます。
例えば、画面には次のような図が表示されます。

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent">

  <ListView
    android:id="@+id/empty_listview_lv"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />
  <ImageView
    android:id="@+id/empty_imageview_iv"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:src="@drawable/bg"
    android:visibility="gone"/>
</FrameLayout>

ListViewの下にImageViewが表示されています。テストの時、ImageViewには必ずAndroid:visibility="gone"が設定されています。そうでなければ、ListViewのアダプターが空いていても表示されます。
Activityではこのように設定できます。

public class EmptyListViewActivity extends Activity {


  private ListView empty_listview_lv;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.empty_listview_layout);
    empty_listview_lv = (ListView) findViewById(R.id.empty_listview_lv);
    String[] mListStr = {"1","2","3","3","4"};
    empty_listview_lv.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, mListStr));
    empty_listview_lv.setEmptyView(findViewById(R.id.empty_imageview_iv));
  }
}
このように、私達のデータが空の時にemptyを使うことができます。listviewlv.setAdapter(null)このようにImageViewが表示されます。
添付:データ表示があります。

データが表示されていません。

以上のListViewを空にした場合は、小編集が皆さんに提供した内容を全部共有します。参考にしていただければと思います。よろしくお願いします。