使用listView或者gridView時(shí),當(dāng)列表為空時(shí),有時(shí)需要顯示一個(gè)特殊的empty view來提示用戶,一般情況下,如果你是繼承ListActivity,只要 <ListView android:id="@id/android:list".../> <TextView android:id="@id/android:empty.../> 當(dāng)列表為空時(shí)就會自動顯示TextView 但是,如果繼承Activity的話,想出現(xiàn)上面的效果,就需要手動 <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í)可能會在代碼中寫EmptyView,像下面這樣: TextView tv= new TextView(this); tv.setText("this is a empty view") setEmptyView(tv); 這樣是不行的。。。 但是后來我在[老外的網(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é)果是可行的!