解决ExpandableListView数据无法及时更新

前两天编写ExpandableListView时,想要更新列表里的数据时,发现使用adpter.notifyDataSetChanged无法对其进行数据的更新。

后来在网上检索了资料,说是要在adapter中加一个hanlder对其进行更新。试了下,发现还是不行,接着查资料,终于纠结了半天之后,看到有个人说试试先把数据clear之后,重新添加,一试。发现有效,终于解决这个问题。

主要代码在下面贴上


写在adapter的构造方法中

handler = new Handler(){
	@Override
	public void handleMessage(Message msg) {
	notifyDataSetChanged();
	super.handleMessage(msg);
	}
};


在adapter中编写一个refresh方法
public void refresh(){
	handler.sendMessage(new Message());
}

最后在activity将adapter中的数据进行clear之后,重新获得

groupTitle.clear();
childMap.clear();


你可能感兴趣的:(android开发)