Android中的setEmptyView怎么使用

這篇“Android中的setEmptyView怎么使用”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Android中的setEmptyView怎么使用”文章吧。

創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站制作、成都做網(wǎng)站和成都二樞機(jī)房的網(wǎng)絡(luò)公司,有著豐富的建站經(jīng)驗(yàn)和案例。

Android ListView之setEmptyView正確使用方法

 假如emptyView和listview在布局中,已經(jīng)屬于同一個(gè)parent,設(shè)置EmptyView的代碼如下

private void setEmptyView(){ 
  emptyTv.setText(getString(R.string.txt_no_data_refreshable)); 
  mList.setEmptyView(empty); 
}

 假如沒有數(shù)據(jù),運(yùn)行,一切正常。

 下面我們執(zhí)行一句代碼后

mList.setVisibility(View.VISIBLE);

 我們發(fā)現(xiàn),emptyView看不到了,奇怪!

 我們來看一下listview的setEmptyView的代碼

public void setEmptyView(View emptyView) { 
  mEmptyView = emptyView; 
 
  // If not explicitly specified this view is important for accessibility. 
  if (emptyView != null 
      && emptyView.getImportantForAccessibility() == IMPORTANT_FOR_ACCESSIBILITY_AUTO) { 
    emptyView.setImportantForAccessibility(IMPORTANT_FOR_ACCESSIBILITY_YES); 
  } 
 
  final T adapter = getAdapter(); 
  final boolean empty = ((adapter == null) || adapter.isEmpty()); 
  updateEmptyStatus(empty); 
}

 其中重點(diǎn)看updateEmptyStatus的源碼

private void updateEmptyStatus(boolean empty) { 
  if (isInFilterMode()) { 
    empty = false; 
  } 
 
  if (empty) { 
    if (mEmptyView != null) { 
      mEmptyView.setVisibility(View.VISIBLE); 
      setVisibility(View.GONE); 
    } else { 
      setVisibility(View.VISIBLE); 
    } 
    if (mDataChanged) {       
      this.onLayout(false, mLeft, mTop, mRight, mBottom);  
    } 
  } else { 
    if (mEmptyView != null) mEmptyView.setVisibility(View.GONE); 
    setVisibility(View.VISIBLE); 
  } 
}

我們發(fā)現(xiàn),控制emptyView的顯示,就是隱藏listview,這兩個(gè)試圖互相隱藏顯示,來達(dá)到效果,而且updateEmptyStatus方法只有在listview的setEmptyView時(shí)才會(huì)執(zhí)行,所以當(dāng)你執(zhí)行mList.setVisibility(View.VISIBLE)的時(shí)候,listview被設(shè)置為可見,它覆蓋了emptyView,所以你看不到,如果想顯示emptyView,那就再執(zhí)行一遍setEmptyView方法。

以上就是關(guān)于“Android中的setEmptyView怎么使用”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

當(dāng)前名稱:Android中的setEmptyView怎么使用
URL鏈接:http://muchs.cn/article16/pdppdg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、建站公司、網(wǎng)站內(nèi)鏈、網(wǎng)站設(shè)計(jì)、外貿(mào)網(wǎng)站建設(shè)、

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管