Android 關(guān)于ExpandableListView刷新問題的解決方法
正文
首先是最基礎(chǔ)的
ExpandableListView vList = (ExpandableListView) this.findViewById(R.id.list); EListAdapter adapter = new EListAdapter(getApplicationContext(), list); //list 是數(shù)據(jù)源 vList.setAdapter(adapter); //適配器就不寫了, 都懂的 class EListAdapter extends BaseExpandableListAdapter {}
一般情況下, ListView是使用notifyDataSetChanged() 更新的
adapter.notifyDataSetChanged();
ExpandableListView 也是ListView, 估計(jì)這樣是可以的.
可惜現(xiàn)在用的不是ListView, 而是ExpandableListView! 所以報(bào)錯(cuò)了0. 0
Java.lang.ClassCastException: Android.widget.ExpandableListConnector
在Google 找了資料, 發(fā)現(xiàn)是很多都犯這個(gè)錯(cuò)誤. 解決方法也蠻簡(jiǎn)單的!
class EListAdapter extends BaseExpandableListAdapter { public EListAdapter(Context context, List<T> list) { this.list = list; this.context = context; handler = new Handler(){ @Override public void handleMessage(Message msg) { notifyDataSetChanged(); super.handleMessage(msg); } }; } public void refresh() { handler.sendMessage(new Message()); } }
只要我們調(diào)用refresh() 方法就可以使用notifyDataSetChanged() 了.
可是!! 只有GroupView 更新!!
ChildView 沒有更新! 慘了....要更新的在ChildView!!
繼續(xù)靠Google 娘! 大家都提供很多方法, 有一個(gè)人說, 直接在list 添加item 再更新就可以了!
我試了一下,沒有任何效果.......
查了一查SDK 文檔, 發(fā)現(xiàn)Group 的伸縮會(huì)引起getChildView(int, int, boolean, View, ViewGroup) 的運(yùn)行!
所以刷新的ChildView 的方法很簡(jiǎn)單.
只有伸縮一次就可以了! 連Adapter 都不用重寫! 簡(jiǎn)單吧?
vList.collapseGroup(groupPosition); vList.expandGroup(groupPosition);
以上就是小編為大家?guī)?lái)的Android 關(guān)于ExpandableListView刷新問題的解決方法全部?jī)?nèi)容了,希望大家多多支持腳本之家~
- Android ExpandableListView雙層嵌套實(shí)現(xiàn)三級(jí)樹形菜單
- Android ExpandableListView實(shí)現(xiàn)下拉刷新和加載更多效果
- Android ExpandableListView單選以及多選實(shí)現(xiàn)代碼
- Android ScrollView嵌套ExpandableListView顯示不正常的問題的解決辦法
- Android listview ExpandableListView實(shí)現(xiàn)多選,單選,全選,edittext實(shí)現(xiàn)批量輸入的實(shí)例代碼
- Android 關(guān)于ExpandableListView去掉里頭分割線的方法
- Android UI控件ExpandableListView基本用法詳解
- Android改變ExpandableListView的indicator圖標(biāo)實(shí)現(xiàn)方法
- Android中ExpandableListView的用法實(shí)例
- Android ExpandableListView展開列表控件使用實(shí)例
- Android ExpandableListView用法示例詳解
相關(guān)文章
Android UI:ListView - SimpleAdapter實(shí)例詳解
這篇文章主要介紹了Android UI:ListView - SimpleAdapter實(shí)例詳解,SimpleAdapter是擴(kuò)展性最好的適配器,可以定義各種你想要的布局,而且使用很方便,需要的朋友可以參考下2016-11-11Android Tablayout 自定義Tab布局的使用案例
這篇文章主要介紹了Android Tablayout 自定義Tab布局的使用案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2020-08-08Android?IdleHandler基本使用及應(yīng)用案例詳解
這篇文章主要為大家詳細(xì)介紹了Android?IdleHandler的基本使用及應(yīng)用案例,文中的示例代碼講解詳細(xì),具有一定的參考價(jià)值,需要的可以參考一下2022-10-10Android多線程處理機(jī)制中的Handler使用介紹
本文將為大家介紹下Android的Handler的使用方法,Handler可以發(fā)送Messsage和Runnable對(duì)象到與其相關(guān)聯(lián)的線程的消息隊(duì)列,感興趣的朋友可以了解下哈2013-06-06Android ViewPager實(shí)現(xiàn)無(wú)限循環(huán)的實(shí)例
這篇文章主要介紹了Android ViewPager實(shí)現(xiàn)無(wú)限循環(huán)的實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-07-07Android中 自定義數(shù)據(jù)綁定適配器BaseAdapter的方法
本篇文章小編為大家介紹,Android中 自定義數(shù)據(jù)綁定適配器BaseAdapter的方法。需要的朋友參考下2013-04-04Android用于校驗(yàn)集合參數(shù)的小封裝示例
本篇文章主要介紹了Android-用于校驗(yàn)集合參數(shù)的小封裝示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2017-10-10Android studio 解決logcat無(wú)過濾工具欄的操作
這篇文章主要介紹了Android studio 解決logcat無(wú)過濾工具欄的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2020-04-04安裝時(shí)加入外部數(shù)據(jù)庫(kù)示例(android外部數(shù)據(jù)庫(kù))
這篇文章主要介紹了android打包安裝時(shí)加入外部數(shù)據(jù)庫(kù)的示例,需要的朋友可以參考下2014-03-03