Dan*_*iel 32 android android-listview
我正在设置一个TextViewid,@android:id/empty以便在没有项目时显示消息ListView.但是,TextView即使ListView在项目出现之前有项目,也会显示此信息.
我怎样才能使它只在没有元素时显示ListView?
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ListView
android:id="@android:id/list"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:dividerHeight="1dp" >
</ListView>
<TextView
android:id="@android:id/empty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/empty_list" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
PS:我正在使用a Loader和SimpleCursorAdaptera ListFragment.
dym*_*meh 99
我猜你是使用常规Fragment或Activity与ListView它的内部.如果是,则必须ListView手动添加空布局.
例如
ListView lv = (ListView)findViewById(android.R.id.list);
TextView emptyText = (TextView)findViewById(android.R.id.empty);
lv.setEmptyView(emptyText);
Run Code Online (Sandbox Code Playgroud)
然后ListView当适配器为空时,您将自动使用此视图
如果你使用的是ListActivity你不需要打电话setEmptyView(),ListView因为ListActivity自动管理你.
Cod*_*der 10
设置a TextView并为其分配当ListView空白时要显示的内容:
ProjectListAdapter projectListAdapter = new ProjectListAdapter();
TextView empty=(TextView)findViewById(R.id.empty);
projectsListView.setEmptyView(empty);
Run Code Online (Sandbox Code Playgroud)
在我的xml文件中,我们编写以下代码
<TextView
android:id="@+id/empty"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:text="Your text here"
android:textColor="#FFFFFF" />
Run Code Online (Sandbox Code Playgroud)
我有这个问题。您必须在代码中显式设置emptyView。
更改您的TextView:
<TextView
android:id="@+id/emptyResults"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/empty_list" />
Run Code Online (Sandbox Code Playgroud)
然后在onCreate():
listViewResults = (ListView) findViewById(R.id.list);
listViewResults.setEmptyView((LinearLayout) findViewById(R.id.emptyResults));
Run Code Online (Sandbox Code Playgroud)
上面的代码假定您ListView位于中LinearLayout。
| 归档时间: |
|
| 查看次数: |
47479 次 |
| 最近记录: |