Я испробовал все вышеперечисленные решения. Я решил проблему. Здесь я публикую полное решение.
Файл xml :
<RelativeLayout
android:id="@+id/header_main_page_clist1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="20dp"
android:paddingBottom="10dp"
android:background="#ffffff" >
<ListView
android:id="@+id/lv_msglist"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="@color/divider_color"
android:dividerHeight="1dp" />
<TextView
android:id="@+id/emptyElement"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="NO MESSAGES AVAILABLE!"
android:textColor="#525252"
android:textSize="19.0sp"
android:visibility="gone" />
</RelativeLayout>
TextView ( "@ + id / emptyElement" ) является заполнителем для пустого списка.
Вот код для страницы Java:
lvmessage=(ListView)findViewById(R.id.lv_msglist);
lvmessage.setAdapter(adapter);
lvmessage.setEmptyView(findViewById(R.id.emptyElement));
Не забудьтеПоместите emptyView после привязки адаптера к listview. Шахта не работала в первый раз, и после того, как я переместил setEmptyView после setAdapter, он теперь работает.*![enter image description here](https://i.stack.imgur.com/6XJKp.png)