<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    The NoteBook of EricKong

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      611 Posts :: 1 Stories :: 190 Comments :: 0 Trackbacks

     

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width
    ="match_parent"
        android:layout_height
    ="match_parent"
        android:orientation
    ="vertical" >

        
    <ExpandableListView 
            
    android:layout_width="fill_parent"
            android:layout_height
    ="wrap_content"
            android:id
    ="@+id/ecpandable"
            
    />

    </LinearLayout>

     

    package cn.csdn.activity;

    import android.app.Activity;
    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.ExpandableListView;
    import android.widget.ImageView;
    import android.widget.LinearLayout;
    import android.widget.TextView;

    public class ExpandableListViewActivity extends Activity{

        @Override
        
    protected void onCreate(Bundle savedInstanceState) {
            
    // TODO Auto-generated method stub
            super.onCreate(savedInstanceState);
            setContentView(R.layout.expandable_layout);
            
            
    /**BaseExpandableListAdapter實現了ExpandableListAdapter*/
            ExpandableListAdapter adapter 
    = new BaseExpandableListAdapter(){

    /**----------定義數組-------------------------------------------------------------------*/
                
    private int[] images = new int[]{
                        R.drawable.ic_launcher,
                        R.drawable.stop,
                        R.drawable.play
                }
    ;
                
    private String[] armTypes = new String[]{
                        
    "神族","蟲族","人族"
                }
    ;
                
    private String[][] arms = new String[][]{
                        
    {"狂戰士","龍騎士","黑暗圣堂"},
                        
    {"小狗","飛龍","自爆妃子"},
                        
    {"步兵","傘兵","護士mm"}
                }
    ;
                            
    /*===========組元素表示可折疊的列表項,子元素表示列表項展開后看到的多個子元素項=============*/

    /**----------得到armTypes和arms中每一個元素的ID-------------------------------------------*/
                
                
    //獲取組在給定的位置編號,即armTypes中元素的ID
                @Override
                
    public long getGroupId(int groupPosition) {
                    
    return groupPosition;
                }

            
                
    //獲取在給定的組的兒童的ID,就是arms中元素的ID
                @Override
                
    public long getChildId(int groupPosition, int childPosition) {
                    
    return childPosition;
                }

                
    /**----------根據上面得到的ID的值,來得到armTypes和arms中元素的個數 ------------------------*/
                
                
    //獲取的群體數量,得到armTypes里元素的個數
                @Override
                
    public int getGroupCount() {
                    
    return armTypes.length;
                }

                
                
    //取得指定組中的兒童人數,就是armTypes中每一個種族它軍種的個數
                @Override
                
    public int getChildrenCount(int groupPosition) {
                    
    return arms[groupPosition].length;
                }

                
    /**----------利用上面getGroupId得到ID,從而根據ID得到armTypes中的數據,并填到TextView中 -----*/
                
                
    //獲取與給定的組相關的數據,得到數組armTypes中元素的數據
                @Override
                
    public Object getGroup(int groupPosition) {
                    
    return armTypes[groupPosition];
                }


                
    //獲取一個視圖顯示給定組,存放armTypes
                @Override
                
    public View getGroupView(int groupPosition, boolean isExpanded,
                        View convertView, ViewGroup parent) 
    {
                    TextView textView 
    = getTextView();//調用定義的getTextView()方法
                    textView.setText(getGroup(groupPosition).toString());//添加數據
                    return textView;
                }


    /**----------利用上面getChildId得到ID,從而根據ID得到arms中的數據,并填到TextView中---------*/
                
                
    //獲取與孩子在給定的組相關的數據,得到數組arms中元素的數據
                @Override
                
    public Object getChild(int groupPosition, int childPosition) {
                    
    return arms[groupPosition][childPosition];
                }

                
                
    //獲取一個視圖顯示在給定的組 的兒童的數據,就是存放arms
                @Override
                
    public View getChildView(int groupPosition, int childPosition, boolean isLastChild,
                        View convertView, ViewGroup parent) 
    {
                    LinearLayout ll 
    = new LinearLayout(ExpandableListViewActivity.this);
                    ll.setOrientation(
    0);//定義為縱向排列
                    ImageView logo = new ImageView(ExpandableListViewActivity.this);
                    logo.setImageResource(images[groupPosition]);
    //添加圖片
                    ll.addView(logo);
                    TextView textView 
    = getTextView();//調用定義的getTextView()方法
                    textView.setText(getChild(groupPosition,childPosition).toString());//添加數據
                    ll.addView(textView);
                    
    return ll;
                }

                
    /**------------------自定義一個設定TextView屬性的方法----------------------------------------------*/
                
                
    //定義一個TextView
                private TextView getTextView(){
                    AbsListView.LayoutParams lp 
    = new AbsListView.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,40);
                    TextView textView 
    = new TextView(ExpandableListViewActivity.this);
                    textView.setLayoutParams(lp);
                    textView.setPadding(
    36000);
                    textView.setTextSize(
    20);
                    
    return textView;
                }

                
    /**-------------------其他設置-------------------------------------------------------------------*/
                
                
    //孩子在指定的位置是可選的,即:arms中的元素是可點擊的
                @Override
                
    public boolean isChildSelectable(int groupPosition,
                        
    int childPosition) {
                    
    return true;
                }


                
    //表示孩子是否和組ID是跨基礎數據的更改穩定
                public boolean hasStableIds() {
                    
    return true;
                }

            }
    ;
                
                
    /**使用適配器*/
                ExpandableListView expandListView 
    = (ExpandableListView) this.findViewById(R.id.ecpandable);
                expandListView.setAdapter(adapter);
        }


        
    }


    posted on 2012-02-29 19:16 Eric_jiang 閱讀(23248) 評論(2)  編輯  收藏 所屬分類: Android

    Feedback

    # re: BaseExpandableListAdapter的用法 2013-09-06 18:52
    哥們 你改的 好干凈  回復  更多評論
      

    # re: BaseExpandableListAdapter的用法 2015-07-07 11:25 游客
    組view和子View,反了吧??  回復  更多評論
      

    主站蜘蛛池模板: 国产精品免费精品自在线观看| 亚洲国产成人久久| 成人免费无码大片A毛片抽搐| 免费无码又爽又刺激一高潮| 看免费毛片天天看| 国产色在线|亚洲| 久久亚洲国产精品成人AV秋霞| 亚洲av无码成人精品区在线播放| 久久久久久久免费视频| 久久精品成人免费网站| yy一级毛片免费视频| 国产精品自拍亚洲| 亚洲GV天堂GV无码男同| 国产精品亚洲一区二区麻豆| 亚洲色欲色欲综合网站| 亚洲成A人片在线观看WWW| 亚洲精品tv久久久久| 又黄又爽的视频免费看| 免费高清资源黄网站在线观看| 无码中文字幕av免费放| 免费精品国产自产拍在线观看图片| 一级毛片在线免费看| av永久免费网站在线观看| 精品无码国产污污污免费网站国产| 麻豆69堂免费视频| 美女扒开屁股让男人桶爽免费| 无码亚洲成a人在线观看| 亚洲色偷偷偷综合网| 亚洲午夜无码久久| 久久亚洲精品国产亚洲老地址| 久久精品国产亚洲AV忘忧草18| 亚洲日韩在线视频| 亚洲人成网站日本片| 亚洲国产精品日韩在线观看| 亚洲欧洲国产经精品香蕉网| 亚洲另类春色校园小说| 亚洲视频无码高清在线| 亚洲中文字幕无码av永久| 亚洲成av人在线观看网站 | 国产区在线免费观看| 成人免费777777被爆出|