如何在ListActivity中设置EmptyView

时间:2015-04-01 09:36:49

标签: android android-listview android-adapter

我想在ListActivity 中显示空白视图,如“ No Items Found ,如果它为空。我已经在网站上搜索了更多关于ListView的setEmptyView方法的所有建议。你能指导一下ListActivity吗?

3 个答案:

答案 0 :(得分:0)

您可以在ListActivity中使用getListView().setEmptyView(yourTextView);方法。

TextView emptyView = new TextView(mContext);
emptyView.setText("Empty List");
emptyView.setTextSize(25);
emptyView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));

getListView().setEmptyView(emptyView);

修改

我刚发现Cyril Mottier写了blog这个。看来这正是你想要做的。

答案 1 :(得分:0)

我找到了解决方案如下

TextView emptyview = new TextView(this);
emptyview.setText("Empty List");
emptyview.setTextSize(25);

ListView currentlistview = getListView();

if(listadapter.size()==0)
((ViewGroup)currentlistview.getParent()).addView(emptyview);

我必须更多地寻找解决方案......;)

答案 2 :(得分:0)

根据 source codeListActivity 添加一个空视图:

  1. 创建一个 xml 布局,例如 R.layout.list_activity,带有 ListViewTextView,带有标识符(必需!)android:id/listandroid:id/empty。< /p>

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
       android:orientation="vertical" 
       android:layout_width="match_parent"
       android:layout_height="match_parent"
       android:padding="8dp"
    >
    <ListView
       android:layout_width="match_parent"
       android:layout_height="match_parent"
       android:id="@android:id/list"
    />
    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@android:id/empty"
        android:text="@string/empty"
        android:gravity="center"
    />
    </LinearLayout>
    
  2. 设置此布局:

    @Override
    protected void onCreate( Bundle savedInstanceState ){
        super.onCreate( savedInstanceState );
        setContentView( R.layout.list_activity );
        //...
    }