ListView設定emptyView的限制

2021-08-27 07:37:14 字數 909 閱讀 9129

最新開發乙個應用程式,當listview為空時需要設定一些view來顯示提示內容。我們知道listview有乙個公開的方法——setemptyview(view v)——用來設定listview為空時的內容。可是這個方法的設定是有限制的,就是設定的view必需在當前的viewhierarchy裡,亦即這個view需要被add到當前viewhierarchy的乙個結點上,如果沒有新增到結點上的話,呼叫setemptyview(view v)是沒有任何效果的。它的過程大概是:

listview listview = (listview) findviewbyid(r.id.list);

view emptyview = findviewbyid(r.id.empty);

viewgroup parentview = (viewgroup) listview.getparent();

parentview.addview(emptyview, 2); // 你需要在這兒設定正確的位置,以達到你需要的效果。

listview.setemptyview(emptyview);

注意:如果你直接在xml中包含了emptyview,那麼也就不需要再額外新增到viewhierarchy中了,因為它已經在那兒了,比如你的layout是:

<?xml version="1.0" encoding="utf-8"?>

那你只需要以下的**就可以了:

listview listview = (listview) findviewbyid(r.id.list);

view emptyview = findviewbyid(r.id.empty);

listview.setemptyview(emptyview);

原文出處:

listView 動態設定高亮

有時候,我們需要動態讓 listview 中的item高亮。比如如下場景。左邊是乙個listview 這個listview 的item是檔案列表 右邊是乙個imageview顯示。如下圖所示 實現方法 listview 的 adapter 繼承自 baseadapter 如下 public clas...

ListView點選效果設定

android focusable true android focusableintouchmode true 以上兩個屬性一起使用有些特別的地方,比如設定 itemview的android focusable true android focusableintouchmode true 可以使i...

設定ListView顯示CheckBox

最近在開發的時候用到listview,簡單總結一下它的用法。1.讓listview像dbgrid資料庫那樣顯示資料 將listview的viewstyle設定為vsreport。2.向listview中新增資料 我的資料是從資料庫中查詢得到的,比如我用的是adoquery,先定義變數 varmyit...