<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,反了吧??  回復  更多評論
      

    主站蜘蛛池模板: 蜜桃精品免费久久久久影院| 国产av无码专区亚洲av果冻传媒| 亚洲精品乱码久久久久久蜜桃图片| 成年男女男精品免费视频网站| 成人嫩草影院免费观看| 亚洲AV本道一区二区三区四区| 24小时免费直播在线观看| 男人扒开添女人下部免费视频| 亚洲精品线在线观看| 国产免费怕怕免费视频观看| 免费无码又爽又刺激一高潮| 亚洲综合色区中文字幕| 亚洲日韩中文字幕日韩在线| 67pao强力打造高清免费| 特级aa**毛片免费观看| 亚洲色偷偷av男人的天堂| 亚洲国产成人久久综合野外| 久久久久久精品免费看SSS| 一级看片免费视频| 亚洲婷婷在线视频| 亚洲一区二区女搞男| 女人18毛片特级一级免费视频| 女同免费毛片在线播放| 韩国亚洲伊人久久综合影院| 亚洲精品线在线观看| 久久久久久亚洲精品不卡| 中国在线观看免费国语版| 永久免费AV无码网站国产| 香港经典a毛片免费观看看| 亚洲精品视频观看| 亚洲精品乱码久久久久久久久久久久 | 无码日韩精品一区二区免费暖暖| 亚洲AV永久无码精品放毛片| 久久亚洲AV成人无码电影| 亚洲码国产精品高潮在线| 免费国产在线观看| 免费黄色大片网站| 18勿入网站免费永久| 精品无码国产污污污免费网站 | 亚洲av午夜电影在线观看 | 亚洲宅男精品一区在线观看|