使用listView或者gridView時(shí),當(dāng)列表為空時(shí)颊亮,有時(shí)需要顯示一個(gè)特殊的empty view來(lái)提示用戶(hù)阀捅,一般情況下,如果你是繼承ListActivity熏瞄,只要 <ListView android:id="@id/android:list".../> <TextView android:id="@id/android:empty.../> 當(dāng)列表為空時(shí)就會(huì)自動(dòng)顯示TextView 但是脚祟,如果繼承Activity的話,想出現(xiàn)上面的效果强饮,就需要手動(dòng) <ListView android:id="@+id/list" .../> <TextView android:id="@+id/empty" .../> ListView list= (ListView)findViewById(R.id.mylist); TextView tv= (TextView)findViewById(R.id.myempty); list.setEmptyView(tv); 誤區(qū): setEmptyView(View)這個(gè)函數(shù)很有誤導(dǎo)性愚铡,有時(shí)可能會(huì)在代碼中寫(xiě)EmptyView,像下面這樣: TextView tv= new TextView(this); tv.setText("this is a empty view") setEmptyView(tv); 這樣是不行的胡陪。沥寥。。 但是后來(lái)我在[老外的網(wǎng)上]
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);
結(jié)果是可行的柠座!