【发布时间】:2013-07-09 06:23:24
【问题描述】:
我设置了一个 FrameLayout,它在 ListView 之上有一个 TextView。现在,在MainActivity 中,执行一些代码后,我检查ListView 是否为空。如果是,我显示TextView,如果不是,我删除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 时,我可以看到所有列表项。] 请帮忙。
【问题讨论】:
-
为什么不将视图设置为消失?
textView.setVisibility(View.GONE) -
我试过了。它做同样的事情。我得到一个空白活动。
标签: android arraylist android-framelayout viewgroup