在移動開發中經常會使用到列表顯示,對於列表顯示我們經常使用的就是listview控制項。在顯示列表的時候通常有兩種情況:
一、列表是滿的;
二、列表是空的。
在沒有資料的時候我們應該怎麼處理呢?有乙個簡單的方法可以解決問題,我們來看一下。
listview和其他繼承自adapterview的類可以使用setemptyview(view view)方法設定空狀態下的顯示。當繪製adapterview的介面卡為空或者isempty方法返回true,此時就會顯示setemptyview(view view)方法設定的檢視。
例如:我們在介面上顯示如下檢視。
<?xml version="1.0" encoding="utf-8"?>
xmlns:android=""
android:layout_width="match_parent"
android:layout_height="match_parent">
android:id="@+id/empty_listview_lv"
android:layout_width="match_parent"
android:layout_height="match_parent" />
android:id="@+id/empty_imageview_iv"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/bg"
android:visibility="gone"/>
framelayout>
在listview下顯示乙個imageview,注意我在測試的時候發現imageview一定設定android:visibility=」gone」否則不管listview的介面卡是否為空都會顯示。在activity中我們可以這樣設定:
public
class
emptylistviewactivity
extends
activity ;
empty_listview_lv.setadapter(new arrayadapter(this,android.r.layout.******_list_item_1, mliststr));
empty_listview_lv.setemptyview(findviewbyid(r.id.empty_imageview_iv));}}
這樣當我們的資料為空的時候可以把empty_listview_lv.setadapter(null);這樣就會顯示imageview(注:不需要把imageview的visibility設定為可見);
附:有資料顯示
沒有資料情況顯示
mysql 中count 結果為空的情況
今天遇到乙個場景,統計 的使用者訪問量,功能還是比較簡單,可能乙個簡單的sql就能返回結果,由於訪問使用者需要去重,所以就寫了如下的sql,我用的是mysql 8 select count 1 num from t customer visit log where logname 來訪使用者 and...
webapi引數物件為空的的處理
最近做乙個小即時通訊程式,考慮到服務資源和實際使用情況,使用的心跳包實現,結果測試時,發現傳送訊息到webapi後,訊息物件始終為空,仔細檢查了各個環節,所有問題都排查了一遍,還是沒有接收到提交的訊息資料。後來反覆試驗之後,發現了問題 原來接收物件裡的屬性全都是不可空的,而整形 guid型別的屬性,...
FMResultSet,column為空的判斷
呼叫 rs objectforcolumnname 如果column 沒有值,則上面 返回的是nsnull,但是直接判斷 if nsnull 會被判定為true,從而執行花括號中的 所以下面這段 是錯誤的 if rs objectforcolumnname 即使column 沒有值,也會走到花括號中...