package com.example.day03;
import android.app.Activity;
import android.database.DataSetObserver;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ExpandableListAdapter;
import android.widget.ExpandableListView;
import android.widget.ExpandableListView.OnChildClickListener;
import android.widget.GridView;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
//创建一级导航数据
private String[] groupname = new String[] { “男装”, “女装”, “童装”, “家具” };
//创建二级导航数据
private String[][] childname = new String[][] { { “裤子”, “上衣”, “鞋子” },
{ “裙子”, “外套”, “高跟鞋” }, { “婴儿装”, “小人装” }, { “桌子”, “柜子”, “床” } };
private ExpandableListView exl;
private GridView gv;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//查找控件
exl = (ExpandableListView) findViewById(R.id.expandablelistview);
gv = (GridView) findViewById(R.id.gv);
MyAdapter adapter = new MyAdapter();
exl.setAdapter(adapter);
//设置child的监听事件
exl.setOnChildClickListener(new OnChildClickListener() {
@Override
public boolean onChildClick(ExpandableListView parent, View v,
int groupPosition, int childPosition, long id) {
// 改变gridview的数据
ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(
MainActivity.this, android.R.layout.simple_list_item_1,
childname[groupPosition]);
gv.setAdapter(adapter1);
return false;
}
});
}
// 定义一个内部类实现ExpandableListAdapter的适配器
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() {
//设值一级导航的个数
return groupname.length;
}
@Override
public int getChildrenCount(int groupPosition) {
// 设值二级导航的个数
return childname[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;
}
//加载一级导航
public View getGroupView(int groupPosition, boolean isExpanded,
View convertView, ViewGroup parent) {
//找控件为控件赋值
convertView = LayoutInflater.from(MainActivity.this).inflate(
R.layout.new_groupitem, null);
TextView tv = (TextView) convertView.findViewById(R.id.tv_group);
tv.setText(groupname[groupPosition]);
return convertView;
}
@Override
//加载二级导航为二级导航赋值
public View getChildView(int groupPosition, int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
convertView = LayoutInflater.from(MainActivity.this).inflate(
R.layout.new_childitem, null);
TextView tv = (TextView) convertView.findViewById(R.id.tv_child);
tv.setText(childname[groupPosition][childPosition]);
return convertView;
}
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
// TODO Auto-generated method stub
//设值二级导航的触摸显示
return true;
}
@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;
}
}
}