2012-01-09 96 views
0

我希望能够显示一个空列表的替代方法,目前下面的方法调用设置列表,但是taskArrayList可能是空的,如果对数据库的调用有返回一个空列表在android中显示一个空列表的替代方案

/** 
* Setup list adapter. 
*/ 
private void setupListAdapter() { 
setListAdapter(new TaskAdapter(this, R.id.tasks_list_view, 
    taskArrayList)); 

taskListView = getListView(); 
taskListView.setOnItemClickListener(new TaskClickListener()); 
} 

我在想,我之前调用此方法,或者在方法的开头添加以下检查

if(taskArrayList.isEmpty()) { 
    /*load an alternative view*/ 
} 

但是因为我的活动是一个ListActivity所以requir es ListView被设置为反对它,所以我不确定处理列表为空时的最佳方法。

我不想创建一个“虚拟物品”其中说没有项目并将其添加到ArrayList,但我不确定的替代品。

回答

3

如果添加的东西的想法@android:ID /空

将显示,而不是列表为空时自动地!

<TextView android:id="@android:id/empty" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:background="#FF0000" 
      android:text="No data"/> 

在文档他们说,像这样:

可选,自定义视图可以包含任何类型显示在列表视图是空的另一个视图对象。这个“空列表”通知器必须有一个ID“android:id/empty”。请注意,当存在空白视图时,当没有要显示的数据时,列表视图将被隐藏。

http://developer.android.com/reference/android/app/ListActivity.html