package cgg.com.angry; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.view.ViewGroup; import android.widget.BaseExpandableListAdapter; import android.widget.ExpandableListView; import android.widget.ImageView; import android.widget.TextView; public class MainActivity extends AppCompatActivity { private ExpandableListView mExpandView; private String[] titles = { "我的好友", "我的同事", "我的同学", "我的朋友", "我的家人" }; private String[][] children = { {"好友1", "好友2", "好友3", "好友4", "好友5", "好友6", "好友7", "好友8",}, {"同事A", "同事B", "同事C", "同事D", "同事E",}, {"同学甲", "同学乙", "同学丙", "同学丁", "同学戊", "同学己", "同学庚",}, {"木有朋友肿么破"}, {"耳", "云", "仍", "晜", "来", "玄", "曾", "孙", "子", "父", "祖", "曾", "高", "天", "烈", "太", "远", "鼻"} }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mExpandView = findViewById(R.id.mExpandView); mExpandView.setAdapter(new MyExpandViewAdapter()); // 取消默认的角标 // mExpandView.setGroupIndicator(null); // 设置子条目的点击事件 mExpandView.setOnChildClickListener(null); // 设置一级条目的点击事件 mExpandView.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() { @Override public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id) { return false; } }); } class MyExpandViewAdapter extends BaseExpandableListAdapter { @Override public int getGroupCount() { return titles.length; } @Override public int getChildrenCount(int groupPosition) { return children[groupPosition].length; } @Override public String getGroup(int groupPosition) { return titles[groupPosition]; } @Override public String getChild(int groupPosition, int childPosition) { return children[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 false; } @Override public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) { ViewHolder viewHolder; if (convertView == null) { convertView = View.inflate(MainActivity.this, R.layout.parent, null); TextView textView = convertView.findViewById(R.id.title); ImageView img = convertView.findViewById(R.id.jjaa); viewHolder = new ViewHolder(textView, img); convertView.setTag(viewHolder); } else { viewHolder = (ViewHolder) convertView.getTag(); } viewHolder.textView.setText(titles[groupPosition]); // isExpanded是否展开 if (isExpanded) { viewHolder.imageView.setImageResource(R.drawable.down); } else { viewHolder.imageView.setImageResource(R.drawable.right); } return convertView; } @Override public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) { ViewHolder viewHolder; if (convertView == null) { convertView = View.inflate(MainActivity.this, R.layout.parent, null); convertView.setPadding(30,0,0,0); TextView textView = convertView.findViewById(R.id.title); ImageView img = convertView.findViewById(R.id.jjaa); viewHolder = new ViewHolder(textView, img); convertView.setTag(viewHolder); } else { viewHolder = (ViewHolder) convertView.getTag(); } viewHolder.textView.setText(children[groupPosition][childPosition]); viewHolder.imageView.setImageBitmap(null); return convertView; } @Override // 可以被子项 选中 public boolean isChildSelectable(int groupPosition, int childPosition) { return true; } } class ViewHolder { TextView textView; ImageView imageView; public ViewHolder(TextView textView, ImageView imageView) { this.textView = textView; this.imageView = imageView; } } }