您的位置:首页 > 其它

二级列表

2016-06-29 20:58 134 查看
package com.example.expandablelistview1;

import java.util.ArrayList;

import android.app.Activity;

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.view.ViewGroup;

import android.widget.BaseExpandableListAdapter;

import android.widget.ExpandableListView;

import android.widget.ExpandableListView.OnChildClickListener;

import android.widget.ImageView;

import android.widget.ListView;

import android.widget.TextView;

public class MainActivity extends Activity {

private ListView listview;
private String[] type={"朋友","家人"};
private String[][] name=new String[][]{
{"小王","小张"},
{"许雅祺","宋丽娜"}
};
private int[][] img=new int[][]{
{R.drawable.a1,R.drawable.a2},
{R.drawable.a3,R.drawable.a8}
};

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

ExpandableListView expandable=(ExpandableListView) findViewById(R.id.expandable);

expandable.setAdapter(new BaseExpandableListAdapter() {

@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
return true;
}

@Override
public boolean hasStableIds() {
return false;
}

@Override
public View getGroupView(int groupPosition, boolean isExpanded,
View convertView, ViewGroup parent) {
convertView=View.inflate(MainActivity.this, R.layout.g_item, null);
TextView g_tv=(TextView) convertView.findViewById(R.id.g_tv);
g_tv.setText(type[groupPosition]);
return convertView;
}

@Override
public long getGroupId(int groupPosition) {
return 0;
}

@Override
public int getGroupCount() {
return type.length;
}

@Override
public Object getGroup(int groupPosition) {
return null;
}

@Override
public int getChildrenCount(int groupPosition) {
return name[groupPosition].length;
}

@Override
public View getChildView(int groupPosition, int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
convertView=View.inflate(MainActivity.this, R.layout.c_item, null);
ImageView c_imag=(ImageView) convertView.findViewById(R.id.c_img);
TextView c_tv=(TextView) convertView.findViewById(R.id.c_tv);
c_imag.setImageResource(img[groupPosition][childPosition]);
c_tv.setText(name[groupPosition][childPosition]);
return convertView;
}

@Override
public long getChildId(int groupPosition, int childPosition) {
return 0;
}

@Override
public Object getChild(int groupPosition, int childPosition) {
return null;
}
});

//Child的点击事件
expandable.setOnChildClickListener(new OnChildClickListener() {

@Override
public boolean onChildClick(ExpandableListView parent, View v,
int groupPosition, int childPosition, long id) {
ArrayList<Person> person=new ArrayList<>();
listview = (ListView) findViewById(R.id.list);
if(name[groupPosition][childPosition]=="小王"){
person.add(new Person(img[groupPosition][childPosition], "小王", 2000));
}else if(name[groupPosition][childPosition]=="小张"){
person.add(new Person(img[groupPosition][childPosition], "小张", 6000));
}else if(name[groupPosition][childPosition]=="宋丽娜"){
person.add(new Person(img[groupPosition][childPosition], "宋丽娜", 60000));
}else if(name[groupPosition][childPosition]=="许雅祺"){
person.add(new Person(img[groupPosition][childPosition], "许雅祺", 600000));
}
//给所有Child添加适配器
listview.setAdapter(new MyAdapter(MainActivity.this, person));
return false;
}
});

}


}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  expandable