listview為空時,顯示字符串
使用listView或者gridView時,當列表為空時,有時需要顯示一個特殊的empty view來提示用戶,一般情況下,如果你是繼承ListActivity,隻要<ListView android:.../>
<TextView android:font-family:Helvetica, Tahoma, Arial, sans-serif;font-size:14px;line-height:25px;text-align:left;">當列表為空時就會自動顯示TextView
但是,如果繼承Activity的話,想出現上麵的效果,就需要手動
<ListView android: .../>
<TextView android: .../>
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);
最後更新:2017-04-02 16:48:11