這篇“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)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
當(dāng)前名稱:Android中的setEmptyView怎么使用
URL鏈接:http://aaarwkj.com/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)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)