基本信息
源码名称:android 可展开的分组实例源码下载(expandlistview)
源码大小:1.53M
文件格式:.rar
开发语言:Java
更新时间:2015-01-15
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 3 元 
   源码介绍

expandlistview,可展开 折叠


package com.xiaos.pinnedheaderexpandable;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.ExpandableListView;
import android.widget.ExpandableListView.OnGroupClickListener;

import com.xiaos.adapter.PinnedHeaderExpandableAdapter;
import com.xiaos.view.PinnedHeaderExpandableListView;

public class MainActivity extends Activity{
	private PinnedHeaderExpandableListView explistview;
	private String[][] childrenData = new String[10][10];
	private String[] groupData = new String[10];
	private int expandFlag = -1;//控制列表的展开  
	private PinnedHeaderExpandableAdapter adapter;
	
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.layout_main);
		initView();
		initData();
	}
	
	/**
	 * 初始化VIEW
	 */
	private void initView() {
		explistview = (PinnedHeaderExpandableListView)findViewById(R.id.explistview);
	}

	/**
	 * 初始化数据
	 */
	private void initData() {
		for(int i=0;i<10;i  ){
			groupData[i] = "分组" i;
		}
		
		for(int i=0;i<10;i  ){
			for(int j=0;j<10;j  ){
				childrenData[i][j] = "好友" i "-" j;
			}
		}
		//设置悬浮头部VIEW
		explistview.setHeaderView(getLayoutInflater().inflate(R.layout.group_head,
				explistview, false));
		adapter = new PinnedHeaderExpandableAdapter(childrenData, groupData, getApplicationContext(),explistview);
		explistview.setAdapter(adapter);
		
		//设置单个分组展开
		//explistview.setOnGroupClickListener(new GroupClickListener());
	}
	
	class GroupClickListener implements OnGroupClickListener{
		@Override
		public boolean onGroupClick(ExpandableListView parent, View v,
				int groupPosition, long id) {
			if (expandFlag == -1) {
				// 展开被选的group
				explistview.expandGroup(groupPosition);
				// 设置被选中的group置于顶端
				explistview.setSelectedGroup(groupPosition);
				expandFlag = groupPosition;
			} else if (expandFlag == groupPosition) {
				explistview.collapseGroup(expandFlag);
				expandFlag = -1;
			} else {
				explistview.collapseGroup(expandFlag);
				// 展开被选的group
				explistview.expandGroup(groupPosition);
				// 设置被选中的group置于顶端
				explistview.setSelectedGroup(groupPosition);
				expandFlag = groupPosition;
			}
			return true;
		}
	}
}