我已經在ListView
的頂部設置了一個TextView
的FrameLayout。現在,在MainActivity
中,執行一些代碼後,我檢查ListView
是否爲空。如果是,我顯示TextView
,如果沒有,我刪除TextView
。在Android中動態添加和刪除TextView
的代碼如下:
以下是的main.xml文件:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/flMain"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/tvAddItem"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Add some subjects"
android:textSize="20sp" />
<ListView
android:id="@+id/ItemsList"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1" />
</FrameLayout>
在MainActivity類,我請執行下列操作:
MainActivity.java
TextView tvNoItem = (TextView) findViewById(R.id.tvAddItem);
ListView subListView = (ListView) findViewById(R.id.itemsList);
FrameLayout fl = (FrameLayout) findViewById(R.id.flMain);
ArrayList<Item> itemsList;
//some code
if(itemsList.isEmpty()) {
fl.addView(tvNoItem);
} else {
fl.removeView(tvNoItem);
}
現在,當我運行它並將一些項目添加到列表中時,確實會刪除TextView
(tvNoItem)。但我看到的只是一個空白列表 - 列表項不可見。 [順便說一句,名單工作正常。當我從main.xml
中刪除TextView
時,我可以看到所有列表項。]請幫助。
爲什麼不把視圖去加入textviews? 'textView.setVisibility(View.GONE)' – Neoh
我試過了。它做同樣的事情。我得到一個空白的活動。 –