package com.rong.expendlistview;
import java.util.ArrayList;
import java.util.List;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ExpandableListAdapter;
import android.widget.ExpandableListView;
import android.widget.ExpandableListView.OnChildClickListener;
import android.widget.Toast;
import android.widget.ExpandableListView.OnGroupClickListener;
import android.widget.TextView;
import android.app.Activity;
import android.database.DataSetObserver;
public class MainActivity extends Activity {
private ArrayList<String> grouplist;
private ArrayList<List<String>> childlist;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initData();
ExpandableListView e_lv=(ExpandableListView) findViewById(R.id.ex_lv);
e_lv.setAdapter(new MyAdapter());
e_lv.setOnGroupClickListener(new OnGroupClickListener() {
@Override
public boolean onGroupClick(ExpandableListView parent, View v,
int groupPosition, long id) {
Toast.makeText(MainActivity.this, grouplist.get(groupPosition), Toast.LENGTH_SHORT).show();
return false;
}
});
e_lv.setOnChildClickListener(new OnChildClickListener() {
@Override
public boolean onChildClick(ExpandableListView parent, View v,
int groupPosition, int childPosition, long id) {
Toast.makeText(MainActivity.this, childlist.get(groupPosition).get(childPosition), Toast.LENGTH_SHORT).show();
return false;
}
});
}
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() {
// TODO Auto-generated method stub
return grouplist.size();
}
@Override
public int getChildrenCount(int groupPosition) {
// TODO Auto-generated method stub
return childlist.get(groupPosition).size();
}
@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;
}
@Override
public View getGroupView(int groupPosition, boolean isExpanded,
View convertView, ViewGroup parent) {
convertView=LayoutInflater.from(MainActivity.this).inflate(R.layout.group_item, null);
TextView tv_1=(TextView) convertView.findViewById(R.id.tv_1);
tv_1.setText(grouplist.get(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.child_item, null);
TextView tv_2=(TextView) convertView.findViewById(R.id.tv_2);
tv_2.setText(childlist.get(groupPosition).get(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;
}
}
private void initData() {
grouplist=new ArrayList<String>();
grouplist.add("我的好友");
grouplist.add("我的家人");
grouplist.add("我的同学");
childlist=new ArrayList<List<String>>();
List<String> item1=new ArrayList<String>();
item1.add("掌柜");
item1.add("礼鹏");
item1.add("刘华");
List<String> item2=new ArrayList<String>();
item2.add("罗芳");
item2.add("罗萍");
item2.add("宏宇");
List<String> item3=new ArrayList<String>();
item3.add("小灰灰");
item3.add("小黑");
item3.add("大黑");
childlist.add(item1);
childlist.add(item2);
childlist.add(item3);
}
}
ExpandListView-------List集合
最新推荐文章于 2021-03-21 05:48:09 发布