package com.rong.expandablelistviewdemo;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ExpandableListAdapter;
import android.widget.ExpandableListView;
import android.widget.ImageView;
import android.widget.TextView;
import android.app.Activity;
import android.database.DataSetObserver;
public class MainActivity extends Activity {
// 设置主视图显示文字
private String[] grouparr = new String[] { "我的设备", "我的好友", "同学", "八维同事",
"其他", "学生", "同事", "八维市场部" };
// 子视图显示文字
private String[][] childarr = new String[][] { { "设备1", "设备2", "设备3" },
{ "好友1", "好友2", "好友3", }, { "同学1", "同学2", "同学3" },
{ "八维同事1", "八维同事2", "八维同事3" }, { "其他1", "其他2", "其他3" },
{ "学生1", "学生2", "学生3" }, { "同事1", "同事2", "同事3" },
{ "八维市场部1", "八维市场部2", "八维市场部3" } };
private int[][] childimage = new int[][] {
{ R.drawable.dmk, R.drawable.dml, R.drawable.dmm },
{ R.drawable.dmk, R.drawable.dml, R.drawable.dmm },
{ R.drawable.dmk, R.drawable.dml, R.drawable.dmm },
{ R.drawable.dmk, R.drawable.dml, R.drawable.dmm },
{ R.drawable.dmk, R.drawable.dml, R.drawable.dmm },
{ R.drawable.dmk, R.drawable.dml, R.drawable.dmm },
{ R.drawable.dmk, R.drawable.dml, R.drawable.dmm },
{ R.drawable.dmk, R.drawable.dml, R.drawable.dmm } };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 获取控件
ExpandableListView ex_lv = (ExpandableListView) findViewById(R.id.ex_lv);
//加载适配器
ex_lv.setAdapter(new MyAdapter());
}
//自定义适配器
class MyAdapter implements ExpandableListAdapter{
@Override
public void registerDataSetObserver(DataSetObserver observer) {
// TODO Auto-generated method stub
}
@Override
public void unregisterDataSetObserver(DataSetObserver observer) {
// TODO Auto-generated method stub
}
@Override
public int getGroupCount() {
// TODO Auto-generated method stub
return grouparr.length;
}
@Override
public int getChildrenCount(int groupPosition) {
// TODO Auto-generated method stub
return childarr[groupPosition].length;
}
@Override
public Object getGroup(int groupPosition) {
// TODO Auto-generated method stub
return null;
}
@Override
public Object getChild(int groupPosition, int childPosition) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getGroupId(int groupPosition) {
// TODO Auto-generated method stub
return 0;
}
@Override
public long getChildId(int groupPosition, int childPosition) {
// TODO Auto-generated method stub
return 0;
}
@Override
public boolean hasStableIds() {
// TODO Auto-generated method stub
return false;
}
@Override
public View getGroupView(int groupPosition, boolean isExpanded,
View convertView, ViewGroup parent) {
ViewHolderGroup vhg;
if(convertView==null){
convertView=LayoutInflater.from(MainActivity.this).inflate(R.layout.group_layout, null);
vhg=new ViewHolderGroup();
//查找控件
vhg.tv_group=(TextView) convertView.findViewById(R.id.tv_group);
vhg.tv_group2=(TextView) convertView.findViewById(R.id.tv_group2);
convertView.setTag(vhg);
}else{
vhg=(ViewHolderGroup) convertView.getTag();
}
//给控件赋值
vhg.tv_group.setText(grouparr[groupPosition]);
vhg.tv_group2.setText("(4/17)");
return convertView;
}
@Override
public View getChildView(int groupPosition, int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
ViewHolderChild vhc;
if(convertView==null){
convertView=LayoutInflater.from(MainActivity.this).inflate(R.layout.child_layout, null);
vhc=new ViewHolderChild();
//查找控件
vhc.tv_child=(TextView) convertView.findViewById(R.id.tv_child);
vhc.iv_child=(ImageView) convertView.findViewById(R.id.iv_child);
convertView.setTag(vhc);
}else{
vhc=(ViewHolderChild) convertView.getTag();
}
//给控件赋值
vhc.tv_child.setText(childarr[groupPosition][childPosition]);
vhc.iv_child.setBackgroundResource(childimage[groupPosition][childPosition]);
return convertView;
}
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean areAllItemsEnabled() {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean isEmpty() {
// TODO Auto-generated method stub
return false;
}
@Override
public void onGroupExpanded(int groupPosition) {
// TODO Auto-generated method stub
}
@Override
public void onGroupCollapsed(int groupPosition) {
// TODO Auto-generated method stub
}
@Override
public long getCombinedChildId(long groupId, long childId) {
// TODO Auto-generated method stub
return 0;
}
@Override
public long getCombinedGroupId(long groupId) {
// TODO Auto-generated method stub
return 0;
}
}
class ViewHolderGroup{
TextView tv_group;
TextView tv_group2;
}
class ViewHolderChild{
TextView tv_child;
ImageView iv_child;
}
}
ExpandListView-----二维数组
最新推荐文章于 2021-12-04 11:26:11 发布