ListView 分組完美實現

2021-06-06 02:44:22 字數 1417 閱讀 7375

專案中需要用到分組列表,資料為動態,apidemo中的例子不能滿足要求。而expandlistview存在收起時才能重新整理的問題(專案要求不能收起),雖然實現了,但是很不爽。最後自己實現了乙個。section(組頭) row(組所屬行)  

**:public abstract class groupbaseadapter extends baseadapter

return count;

}@override

public final object getitem(int position) else

return object;

}@override

public final long getitemid(int position) else

return id;

}@override

public final view getview(int position, view convertview, viewgroup parent) else

return view;

}private indexpath getindexpath(int position) else if (pos == position)

pos = pos + 1 + getrowcount(++ section);

}return null;

}/**

* listview indexpath 

* */

public static class indexpath

public int getrow()

public int getsection()

}/**

* 在子類中實現這些方法

* */

public object getrowitem(int row, int section)

public long getrowitemid(int row, int section)

public object getgroupitem(int section)

public long getgroupitemid(int section)

public abstract int getsectioncount();

public abstract int getrowcount(int section);

public abstract view getsectionview(int section, view convertview,

viewgroup parent);

public abstract view getrowview(int row, int section, view convertview,

viewgroup parent);

}繼承這個adapter,和baseadapter一樣使用。

listview的分組擠壓效果實現

1介面卡實現sectionindexer介面 override public object getsections 此方法是通過字母的ascii碼,與集合裡的元素拼音的首字母的ascii碼做比較,返回第乙個相同的索引位置 即分組位置 override public int getpositionfo...

listView控制項分組顯示項

listview 分組功能允許您建立可視的邏輯相關的 listview 項組。每個組皆由乙個文字標題 後跟一條水平線 和分配給該組的項組成。可以將標頭文字與控制項進行左對齊 右對齊或居中對齊。只要 listview.view 屬性設定為 view.list 以外的值,就會顯示分配給 listview...

ListView 分組 顯示網路資料

最近專案中需要使用到 分組展示資料的形式,借鑑了網上前輩們的 精華,現寫一點總結,留作個人檢視。首先 為了給listview 中填充資料定義 listdatas new arraylist baseinfo 中首先需要定義乙個classname 來區別 類別,以便進行展示 在每組 資料存放之前,先往...