二级列表
2016-06-27 11:07
211 查看
package com.example.spandemo;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseExpandableListAdapter;
import android.widget.ExpandableListView;
import android.widget.ExpandableListView.OnChildClickListener;
import android.widget.ExpandableListView.OnGroupExpandListener;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
// 设置组视图的显示文字
private String[] groupTypes = new String[] { "魏", "蜀", "吴" };
// 子视图显示文字
private String[][] group = new String[][] {
{ "夏侯惇", "甄姬", "许褚", "郭嘉", "司马懿", "杨修" },
{ "马超", "张飞", "刘备", "诸葛亮", "黄月英", "赵云" },
{ "吕蒙", "陆逊", "孙权", "周瑜", "孙尚香" }
};
// 子视图图片
public int[][] groupLogo = new int[][] {
{ R.drawable.e, R.drawable.f, R.drawable.h, R.drawable.i,
R.drawable.g, R.drawable.k },
{ R.drawable.l, R.drawable.n, R.drawable.o, R.drawable.p,
R.drawable.f, R.drawable.h },
{ R.drawable.h, R.drawable.d, R.drawable.o, R.drawable.p,
R.drawable.f } };
int[] logos = new int[] { R.drawable.a, R.drawable.b, R.drawable.c };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ExpandableListView expandableListView = (ExpandableListView) findViewById(R.id.list);
expandableListView.setAdapter(new MyExpandleAdapter());
expandableListView
.setOnGroupExpandListener(new OnGroupExpandListener() {
@Override
public void onGroupExpand(int groupPosition) {
Toast.makeText(getApplicationContext(),
"第" + groupPosition + "组打开", 0).show();
}
});
expandableListView.setOnChildClickListener(new OnChildClickListener() {
@Override
public boolean onChildClick(ExpandableListView parent, View v,
int groupPosition, int childPosition, long id) {
Toast.makeText(getApplicationContext(),
group[groupPosition][childPosition], 0).show();
return true;
}
});
}
class MyExpandleAdapter extends BaseExpandableListAdapter {
// 组的数目
@Override
public int getGroupCount() {
return groupTypes.length;
}
@Override
public int getChildrenCount(int groupPosition) {
return group[groupPosition].length;
}
@Override
public Object getGroup(int groupPosition) {
return groupTypes[groupPosition];
}
@Override
public Object getChild(int groupPosition, int childPosition) {
return group[groupPosition][childPosition];
}
@Override
public long getGroupId(int groupPosition) {
return groupPosition;
}
@Override
public long getChildId(int groupPosition, int childPosition) {
return childPosition;
}
@Override
public boolean hasStableIds() {
return true;
}
@Override
public View getGroupView(int groupPosition, boolean isExpanded,
View convertView, ViewGroup parent) {
View group = View.inflate(getApplicationContext(), R.layout.group,
null);
ImageView iv_group = (ImageView) group.findViewById(R.id.iv_group);
TextView tv_group = (TextView) group.findViewById(R.id.tv_group);
iv_group.setImageResource(logos[groupPosition]);
tv_group.setText(groupTypes[groupPosition]);
return group;
}
@Override
public View getChildView(int groupPosition, int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
View group_item = View.inflate(getApplicationContext(),
R.layout.group_item, null);
ImageView iv_group = (ImageView) group_item
.findViewById(R.id.iv_group);
TextView tv_group = (TextView) group_item
.findViewById(R.id.tv_group);
iv_group.setImageResource(groupLogo[groupPosition][childPosition]);
tv_group.setText(MainActivity.this.group[groupPosition][childPosition]);
return group_item;
}
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
return true;
}
}
}
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseExpandableListAdapter;
import android.widget.ExpandableListView;
import android.widget.ExpandableListView.OnChildClickListener;
import android.widget.ExpandableListView.OnGroupExpandListener;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
// 设置组视图的显示文字
private String[] groupTypes = new String[] { "魏", "蜀", "吴" };
// 子视图显示文字
private String[][] group = new String[][] {
{ "夏侯惇", "甄姬", "许褚", "郭嘉", "司马懿", "杨修" },
{ "马超", "张飞", "刘备", "诸葛亮", "黄月英", "赵云" },
{ "吕蒙", "陆逊", "孙权", "周瑜", "孙尚香" }
};
// 子视图图片
public int[][] groupLogo = new int[][] {
{ R.drawable.e, R.drawable.f, R.drawable.h, R.drawable.i,
R.drawable.g, R.drawable.k },
{ R.drawable.l, R.drawable.n, R.drawable.o, R.drawable.p,
R.drawable.f, R.drawable.h },
{ R.drawable.h, R.drawable.d, R.drawable.o, R.drawable.p,
R.drawable.f } };
int[] logos = new int[] { R.drawable.a, R.drawable.b, R.drawable.c };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ExpandableListView expandableListView = (ExpandableListView) findViewById(R.id.list);
expandableListView.setAdapter(new MyExpandleAdapter());
expandableListView
.setOnGroupExpandListener(new OnGroupExpandListener() {
@Override
public void onGroupExpand(int groupPosition) {
Toast.makeText(getApplicationContext(),
"第" + groupPosition + "组打开", 0).show();
}
});
expandableListView.setOnChildClickListener(new OnChildClickListener() {
@Override
public boolean onChildClick(ExpandableListView parent, View v,
int groupPosition, int childPosition, long id) {
Toast.makeText(getApplicationContext(),
group[groupPosition][childPosition], 0).show();
return true;
}
});
}
class MyExpandleAdapter extends BaseExpandableListAdapter {
// 组的数目
@Override
public int getGroupCount() {
return groupTypes.length;
}
@Override
public int getChildrenCount(int groupPosition) {
return group[groupPosition].length;
}
@Override
public Object getGroup(int groupPosition) {
return groupTypes[groupPosition];
}
@Override
public Object getChild(int groupPosition, int childPosition) {
return group[groupPosition][childPosition];
}
@Override
public long getGroupId(int groupPosition) {
return groupPosition;
}
@Override
public long getChildId(int groupPosition, int childPosition) {
return childPosition;
}
@Override
public boolean hasStableIds() {
return true;
}
@Override
public View getGroupView(int groupPosition, boolean isExpanded,
View convertView, ViewGroup parent) {
View group = View.inflate(getApplicationContext(), R.layout.group,
null);
ImageView iv_group = (ImageView) group.findViewById(R.id.iv_group);
TextView tv_group = (TextView) group.findViewById(R.id.tv_group);
iv_group.setImageResource(logos[groupPosition]);
tv_group.setText(groupTypes[groupPosition]);
return group;
}
@Override
public View getChildView(int groupPosition, int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
View group_item = View.inflate(getApplicationContext(),
R.layout.group_item, null);
ImageView iv_group = (ImageView) group_item
.findViewById(R.id.iv_group);
TextView tv_group = (TextView) group_item
.findViewById(R.id.tv_group);
iv_group.setImageResource(groupLogo[groupPosition][childPosition]);
tv_group.setText(MainActivity.this.group[groupPosition][childPosition]);
return group_item;
}
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
return true;
}
}
}
相关文章推荐
- fir.im Weekly - 2016 年 Android 最佳实践列表
- jquery广告滚动框
- 电子选频率特性
- poj1840
- 常用的正则表达式大全
- 通用的sql语句
- Yixiaohan---005题,更改目录下所有图片的分辨率
- dm6446 VLIB函数
- git命令大全
- linux使用实战--基础应用篇
- 了解连接池
- 更改VS默认新建文件格式及内容
- 60. Permutation Sequence
- python3.x执行post请求时报错“POST data should be bytes or an iterable of bytes...”的解决方法
- cocos2d lua 上下翻牌
- org.apache.commons.lang-RandomStringUtils
- Android Canvas基础
- VS2013+opencv 配置
- ubuntu 14.04 +Kinect+ openNI+ openCV+ Sensorkinect 配置 +获取深度图像及相关问题
- Linux 中 Oracle 数据库启动和关闭