ExpandableListActivity的学习和使用


package com.ljz.launchertest;


import android.app.ExpandableListActivity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AbsListView;
import android.widget.BaseExpandableListAdapter;
import android.widget.ExpandableListAdapter;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;


public class Activity1 extends ExpandableListActivity {

//父元素显示的名字
String [] armType = new String[]{"1","2","3"};

//所有子元素的信息
String [][] arms = new String[][]
{
{"a1","a2","a3","a4"}, //第一个父元素的信息
{"b1","b2","b3"}, //依次类推。。。。
{"c1","c2","c3","c4"} //依次类推。。。。
};

//父元素显示的图片
int logo[] = new int[]
{
R.drawable.dish_bad01,
R.drawable.dish_bad11,
R.drawable.dish_bad21
};


@Override
    public void onCreate(Bundle savedInstanceState) {


super.onCreate(savedInstanceState);

//建立ExpandableListAdapter的数据适配器
ExpandableListAdapter adapter = new BaseExpandableListAdapter() {

//返回是否子元素可以被选择
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
return true;
}

//返回是否存在可用的子元素
@Override
public boolean hasStableIds() {
return true;
}

//返回父元素的界面
@Override
public View getGroupView(int groupPosition, boolean isExpanded,View convertView, ViewGroup parent) {
LinearLayout layout = new LinearLayout(Activity1.this);
layout.setOrientation(0);
//添加图片
ImageView imageView = new ImageView(Activity1.this);
imageView.setBackgroundResource(logo[groupPosition]);
layout.addView(imageView);
//添加文字说明
TextView textView = new TextView(Activity1.this);
textView.setText( getGroup(groupPosition).toString() );
layout.addView(textView);
return layout;
}

//返回父元素的id
@Override
public long getGroupId(int groupPosition) {
return groupPosition;
}

//返回所有父元素的个数
@Override
public int getGroupCount() {
return armType.length;
}

//返回父元素的信息
@Override
public Object getGroup(int groupPosition) {
return armType[groupPosition];
}

//返回父元素下子元素的个数
@Override
public int getChildrenCount(int groupPosition) {
return arms[groupPosition].length;
}

//返回子元素的界面
@Override
public View getChildView(int groupPosition, int childPosition,boolean isLastChild, View convertView, ViewGroup parent) {
TextView textView = new TextView(Activity1.this);
textView.setText( getChild(groupPosition, childPosition).toString() );
AbsListView.LayoutParams lp = new AbsListView.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,64 );
textView.setLayoutParams( lp );
textView.setTextSize(20.0f);
return textView;
}

//返回子元素的id
@Override
public long getChildId(int groupPosition, int childPosition) {
return childPosition;
}

//返回子元素的信息
@Override
public Object getChild(int groupPosition, int childPosition) {
return arms[groupPosition][childPosition];
}
};

//加载数据适配器
setListAdapter(adapter);
        
    }





}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值