①.使用listView或者gridView時,當列表為空白時,有時需要顯示一個特殊的empty view來提示使用者,一般情況下,如果你是繼承ListActivity,只要
<ListView android:id="@id/android:list".../>
<TextView android:id="@id/android:empty.../>
當列表為空白時就會自動顯示TextView
②.如果繼承Activity的話,想出現上面的效果,就需要手動
<ListView android:id="@+id/mylist" .../>
<TextView android:id="@+id/myempty" .../>
ListView list= (ListView)findViewById(R.id.mylist);
TextView tv= (TextView)findViewById(R.id.myempty);
list.setEmptyView(tv);
誤區:
setEmptyView(View)這個函數很有誤導性,有時可能會在代碼中寫EmptyView,像下面這樣:
TextView tv= new TextView(this);
tv.setText("this is a empty view")
setEmptyView(tv);
這樣是不行的。。。
但是後來我在老外的網上說下面這樣是可行的,注意第4,5行:
TextView emptyView = new TextView(context);emptyView.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));emptyView.setText(“This appears when the list is empty”);emptyView.setVisibility(View.GONE);((ViewGroup)list.getParent()).addView(emptyView);list.setEmptyView(emptyView);