我想在ListActivity 中显示空白视图,如“ No Items Found
”,如果它为空。我已经在网站上搜索了更多关于ListView的setEmptyView方法的所有建议。你能指导一下ListActivity吗?
答案 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 code 为 ListActivity
添加一个空视图:
创建一个 xml 布局,例如 R.layout.list_activity
,带有 ListView
和 TextView
,带有标识符(必需!)android:id/list
、android: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>
设置此布局:
@Override
protected void onCreate( Bundle savedInstanceState ){
super.onCreate( savedInstanceState );
setContentView( R.layout.list_activity );
//...
}