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);
}
}