|
package com.bawei.d2;
import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.view.ViewGroup; import android.widget.BaseExpandableListAdapter; import android.widget.ExpandableListView; import android.widget.ExpandableListView.OnChildClickListener; import android.widget.TextView; import android.widget.Toast;
public class MainActivity extends Activity {
private String[][] secondNames; private String[] names;
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ExpandableListView elv=(ExpandableListView) findViewById(R.id.elv); names = new String[]{" 第一组"," 第二组"," 第三组"," 第四组"}; secondNames = new String[][]{ {"a","b","c"}, {"d","e","f"}, {"q","w","e","r"}, {"s","d"} }; elv.setAdapter(new BaseExpandableListAdapter() { @Override //控制二级列表条目是否可以点击 public boolean isChildSelectable(int groupPosition, int childPosition) { // TODO Auto-generated method stub return true; } @Override public boolean hasStableIds() { // TODO Auto-generated method stub return false; } @Override //返回一级列表的条目布局 public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) { View view=View.inflate(MainActivity.this,android.R.layout.simple_list_item_1,null); TextView textView= (TextView) view.findViewById(android.R.id.text1); textView.setText(names[groupPosition]); return view; } @Override //获取一级列表给定的Id public long getGroupId(int groupPosition) { // TODO Auto-generated method stub return groupPosition; } @Override //第一列表的个数 public int getGroupCount() { // TODO Auto-generated method stub return names.length; } @Override //获取给定的一级列表的数据 public Object getGroup(int groupPosition) { // TODO Auto-generated method stub return groupPosition; } @Override //第二级列表的个数 public int getChildrenCount(int groupPosition) { // TODO Auto-generated method stub return secondNames[groupPosition].length; } @Override //返回二级列表的条目布局
public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) { View view= View.inflate(MainActivity.this,android.R.layout.simple_list_item_1, null); TextView textView=(TextView) view.findViewById(android.R.id.text1); textView.setText(secondNames[groupPosition][childPosition]); return view; } @Override //获取二级列表给定的ID public long getChildId(int groupPosition, int childPosition) { // TODO Auto-generated method stub return childPosition; } @Override //获取给定的二级列表的数据 public Object getChild(int groupPosition, int childPosition) { // TODO Auto-generated method stub return childPosition; } }); //二级列表监听 elv.setOnChildClickListener(new OnChildClickListener() { @Override public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) { Toast.makeText(MainActivity.this, "你点击了第"+(groupPosition+1)+"组的第"+(childPosition+1)+"项", 0).show(); return false; } });
}
}
|