ExpandableListView(可展开的列表组件)使用方法

package com.example.expandablelist;

import android.os.Bundle;
import android.app.Activity;
import android.view.Gravity;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AbsListView;
import android.widget.BaseExpandableListAdapter;
import android.widget.ExpandableListAdapter;
import android.widget.ExpandableListView;
import android.widget.TextView;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ExpandableListAdapter adapter = new BaseExpandableListAdapter() {
            private String[] group = new String[]
                    {"G1","G2","G3"};
            private String[][] child = new String[][]
                    {{"g1c1","g1c2","g1c3"},
                     {"g2c1","g2c2","g2c3"},
                     {"g3c1","g3c2","g3c3"}
                    
                    };
            @Override
            public boolean isChildSelectable(int groupPosition, int childPosition) {
                // TODO Auto-generated method stub
                return true;
            }
            
            @Override
            public boolean hasStableIds() {
                // TODO Auto-generated method stub
                return false;
            }
            
            @Override
            public View getGroupView(int groupPosition, boolean isExpanded,
                    View convertView, ViewGroup parent) {
                // TODO Auto-generated method stub
                TextView textview =getTextView();
                textview.setText(getGroup(groupPosition).toString());
                return textview;
            }
            
            @Override
            public long getGroupId(int groupPosition) {
                // TODO Auto-generated method stub
                return groupPosition;
            }
            
            @Override
            public int getGroupCount() {
                // TODO Auto-generated method stub
                return group.length;
            }
            
            @Override
            public Object getGroup(int groupPosition) {
                // TODO Auto-generated method stub
                return group[groupPosition];
            }
            
            @Override
            public int getChildrenCount(int groupPosition) {
                // TODO Auto-generated method stub
                return child[groupPosition].length;
            }
            
            @Override
            public View getChildView(int groupPosition, int childPosition,
                    boolean isLastChild, View convertView, ViewGroup parent) {
                // TODO Auto-generated method stub
                TextView textview = getTextView();
                textview.setText(getChild(groupPosition, childPosition).toString());
                return textview;
            }
            
            private TextView getTextView() {
                // TODO Auto-generated method stub
                AbsListView.LayoutParams lp = new AbsListView.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,64);
                TextView textview = new TextView(MainActivity.this);
                textview.setLayoutParams(lp);
                textview.setGravity(Gravity.CENTER_VERTICAL|Gravity.LEFT);
                textview.setPadding(36,0,0,0);
                textview.setTextSize(20);
                return textview; 
            }

            @Override
            public long getChildId(int groupPosition, int childPosition) {
                // TODO Auto-generated method stub
                return childPosition;
            }
            
            @Override
            public Object getChild(int groupPosition, int childPosition) {
                // TODO Auto-generated method stub
                return child[groupPosition][childPosition];
            }
        };
        ExpandableListView expandListView=(ExpandableListView)findViewById(R.id.list);
        expandListView.setAdapter(adapter);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }

}

 

转载于:https://www.cnblogs.com/seantown/archive/2012/12/17/2821671.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值