二级菜单
来源:互联网 发布:淘宝旺旺下载 编辑:程序博客网 时间:2024/03/28 19:46
public class MainActivity extends Activity {
private ExpandableListView expandLv;
//初始化数据
private String[] group = {"西游记","红楼梦","三国","水浒传"};
private String[][] child = {{"孙悟空","唐僧","猪八戒","沙悟净"},
{"贾宝玉","林黛玉","王熙凤","刘姥姥"},
{"张飞","关羽","刘备","曹操"},{"潘金莲","武大郎","西门庆","武松"}};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
}
/**
* 初始化View
*/
private void initView() {
expandLv = (ExpandableListView) findViewById(R.id.expandLv);
expandLv.setAdapter(new MyExpandAdapter());
//设置组的指示器
//expandLv.setGroupIndicator(null);
//设置组展开监,用来监听当前这个组是否展开
expandLv.setOnGroupExpandListener(new OnGroupExpandListener() {
@Override
public void onGroupExpand(int groupPosition) {
Toast.makeText(MainActivity.this, group[groupPosition], 1).show();
}
});
//组的点击事件
/*expandLv.setOnGroupClickListener(new OnGroupClickListener() {
@Override
public boolean onGroupClick(ExpandableListView parent, View v,
int groupPosition, long id) {
Toast.makeText(MainActivity.this, group[groupPosition], 1).show();
return false;
}
});*/
//设置子条目点击事件
expandLv.setOnChildClickListener(new OnChildClickListener() {
@Override
public boolean onChildClick(ExpandableListView parent, View v,
int groupPosition, int childPosition, long id) {
Toast.makeText(MainActivity.this, child[groupPosition][childPosition], 1).show();
return false;
}
});
}
//JDK 7 之前接口只能有方法的声明,不能有方法的是实现 JDK 8 中,接口中存在实例方法,这是可以的
class MyExpandAdapter extends BaseExpandableListAdapter{
@Override
public int getGroupCount() {
//获取组的条目数
return group.length;
}
@Override
public int getChildrenCount(int groupPosition) {
//获取指定组中的子条目数
return child[groupPosition].length;
}
@Override
public Object getGroup(int groupPosition) {
//获取指定组的条目数据
return group[groupPosition];
}
@Override
public Object getChild(int groupPosition, int childPosition) {
//获取指定组中的子条目数据
return child[groupPosition][childPosition];
}
@Override
public long getGroupId(int groupPosition) {
//获取指定组中的ID ID 是唯一 相当于数组或者集合中角标
return groupPosition;
}
@Override
public long getChildId(int groupPosition, int childPosition) {
//获取指定组中的子条目的ID ID 是唯一 相当于数组或者集合中角标
return childPosition;
}
@Override
public boolean hasStableIds() {
//判断子条目数是属于那个组的
return false;
}
@Override
public View getGroupView(int groupPosition, boolean isExpanded,
View convertView, ViewGroup parent) {
//获取指定组的视图 getView()
if(convertView == null){
convertView = convertView.inflate(MainActivity.this, R.layout.item, null);
}
TextView tvContent = (TextView) convertView.findViewById(R.id.tvContent);
tvContent.setText(group[groupPosition]);
return convertView;
}
@Override
public View getChildView(int groupPosition, int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
//获取指定组的子条目视图
if(convertView == null){
convertView = convertView.inflate(MainActivity.this, R.layout.item2, null);
}
TextView tvContent = (TextView) convertView.findViewById(R.id.tv);
tvContent.setText(child[groupPosition][childPosition]);
return convertView;
}
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
//判断指定组中的子条目是否可以被选中
return true;
}
}
private ExpandableListView expandLv;
//初始化数据
private String[] group = {"西游记","红楼梦","三国","水浒传"};
private String[][] child = {{"孙悟空","唐僧","猪八戒","沙悟净"},
{"贾宝玉","林黛玉","王熙凤","刘姥姥"},
{"张飞","关羽","刘备","曹操"},{"潘金莲","武大郎","西门庆","武松"}};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
}
/**
* 初始化View
*/
private void initView() {
expandLv = (ExpandableListView) findViewById(R.id.expandLv);
expandLv.setAdapter(new MyExpandAdapter());
//设置组的指示器
//expandLv.setGroupIndicator(null);
//设置组展开监,用来监听当前这个组是否展开
expandLv.setOnGroupExpandListener(new OnGroupExpandListener() {
@Override
public void onGroupExpand(int groupPosition) {
Toast.makeText(MainActivity.this, group[groupPosition], 1).show();
}
});
//组的点击事件
/*expandLv.setOnGroupClickListener(new OnGroupClickListener() {
@Override
public boolean onGroupClick(ExpandableListView parent, View v,
int groupPosition, long id) {
Toast.makeText(MainActivity.this, group[groupPosition], 1).show();
return false;
}
});*/
//设置子条目点击事件
expandLv.setOnChildClickListener(new OnChildClickListener() {
@Override
public boolean onChildClick(ExpandableListView parent, View v,
int groupPosition, int childPosition, long id) {
Toast.makeText(MainActivity.this, child[groupPosition][childPosition], 1).show();
return false;
}
});
}
//JDK 7 之前接口只能有方法的声明,不能有方法的是实现 JDK 8 中,接口中存在实例方法,这是可以的
class MyExpandAdapter extends BaseExpandableListAdapter{
@Override
public int getGroupCount() {
//获取组的条目数
return group.length;
}
@Override
public int getChildrenCount(int groupPosition) {
//获取指定组中的子条目数
return child[groupPosition].length;
}
@Override
public Object getGroup(int groupPosition) {
//获取指定组的条目数据
return group[groupPosition];
}
@Override
public Object getChild(int groupPosition, int childPosition) {
//获取指定组中的子条目数据
return child[groupPosition][childPosition];
}
@Override
public long getGroupId(int groupPosition) {
//获取指定组中的ID ID 是唯一 相当于数组或者集合中角标
return groupPosition;
}
@Override
public long getChildId(int groupPosition, int childPosition) {
//获取指定组中的子条目的ID ID 是唯一 相当于数组或者集合中角标
return childPosition;
}
@Override
public boolean hasStableIds() {
//判断子条目数是属于那个组的
return false;
}
@Override
public View getGroupView(int groupPosition, boolean isExpanded,
View convertView, ViewGroup parent) {
//获取指定组的视图 getView()
if(convertView == null){
convertView = convertView.inflate(MainActivity.this, R.layout.item, null);
}
TextView tvContent = (TextView) convertView.findViewById(R.id.tvContent);
tvContent.setText(group[groupPosition]);
return convertView;
}
@Override
public View getChildView(int groupPosition, int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
//获取指定组的子条目视图
if(convertView == null){
convertView = convertView.inflate(MainActivity.this, R.layout.item2, null);
}
TextView tvContent = (TextView) convertView.findViewById(R.id.tv);
tvContent.setText(child[groupPosition][childPosition]);
return convertView;
}
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
//判断指定组中的子条目是否可以被选中
return true;
}
}
0 0
- 二级菜单
- 二级菜单
- 二级菜单
- 二级菜单
- 二级菜单
- 二级菜单
- 二级菜单
- 二级菜单
- 二级菜单
- 二级收缩菜单,点击出现二级菜单
- 菜单-二级菜单的制作
- 选项菜单之二级菜单
- 伸缩菜单+二级下拉菜单
- 二级菜单及手风琴菜单
- 二级联动菜单详解
- 二级联动菜单详解
- 关联菜单.二级
- asp联动二级菜单
- html设置不同字体显示
- android View
- 动画
- html中设置显示字体大小
- Unix域协议--Linux本地IPC
- 二级菜单
- C++设计模式——Factory模式
- Emotional Chatting Machine: Emotional Conversation Generation with Internal and External Memory
- html设置字体显示颜色以及大小
- 322. Coin Change
- Apache服务器的安装与配置
- 1. 介绍 Intrdouction
- Xutils
- To be a janitor