zoukankan      html  css  js  c++  java
  • ExpandableListView二级列表

    XMl

     1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     2     xmlns:tools="http://schemas.android.com/tools"
     3     android:layout_width="match_parent"
     4     android:layout_height="match_parent"
     5     tools:context=".MainActivity" >
     6 
     7     <ExpandableListView 
     8         android:id="@+id/elv"
     9         android:layout_width="match_parent"
    10         android:layout_height="match_parent"
    11     
    12         ></ExpandableListView>
    13 
    14 </RelativeLayout>

    MainActivity

      1 package com.bawei.d2;
      2 
      3 import android.os.Bundle;
      4 import android.app.Activity;
      5 import android.view.Menu;
      6 import android.view.View;
      7 import android.view.ViewGroup;
      8 import android.widget.BaseExpandableListAdapter;
      9 import android.widget.ExpandableListView;
     10 import android.widget.ExpandableListView.OnChildClickListener;
     11 import android.widget.TextView;
     12 import android.widget.Toast;
     13 
     14 public class MainActivity extends Activity {
     15 
     16     private String[][] secondNames;
     17     private String[] names;
     18 
     19     @Override
     20     protected void onCreate(Bundle savedInstanceState) {
     21         super.onCreate(savedInstanceState);
     22         setContentView(R.layout.activity_main);
     23     ExpandableListView  elv=(ExpandableListView) findViewById(R.id.elv);
     24     
     25     names = new String[]{"     第一组","     第二组","     第三组","     第四组"};
     26     secondNames = new  String[][]{
     27             {"a","b","c"},
     28             {"d","e","f"},
     29             {"q","w","e","r"},
     30             {"s","d"}
     31     };
     32     
     33     elv.setAdapter(new BaseExpandableListAdapter() {
     34         
     35         @Override
     36         //控制二级列表条目是否可以点击
     37         public boolean isChildSelectable(int groupPosition, int childPosition) {
     38             // TODO Auto-generated method stub
     39             return true;
     40         }
     41         
     42         @Override
     43         
     44         public boolean hasStableIds() {
     45             // TODO Auto-generated method stub
     46             return false;
     47         }
     48         
     49         @Override
     50          //返回一级列表的条目布局
     51         public View getGroupView(int groupPosition, boolean isExpanded,
     52                 View convertView, ViewGroup parent) {
     53             View view=View.inflate(MainActivity.this,android.R.layout.simple_list_item_1,null);
     54             TextView textView= (TextView) view.findViewById(android.R.id.text1);
     55             textView.setText(names[groupPosition]);
     56             return view;
     57         }
     58         
     59         @Override
     60         //获取一级列表给定的Id
     61         public long getGroupId(int groupPosition) {
     62             // TODO Auto-generated method stub
     63             return groupPosition;
     64         }
     65         
     66         @Override
     67         //第一列表的个数
     68         public int getGroupCount() {
     69             // TODO Auto-generated method stub
     70             return names.length;
     71         }
     72         
     73         @Override
     74          //获取给定的一级列表的数据
     75         public Object getGroup(int groupPosition) {
     76             // TODO Auto-generated method stub
     77             return groupPosition;
     78         }
     79         
     80         @Override
     81         //第二级列表的个数
     82         public int getChildrenCount(int groupPosition) {
     83             // TODO Auto-generated method stub
     84             return secondNames[groupPosition].length;
     85         }
     86         
     87         @Override
     88          //返回二级列表的条目布局
     89 
     90         public View getChildView(int groupPosition, int childPosition,
     91                 boolean isLastChild, View convertView, ViewGroup parent) {
     92             View view= View.inflate(MainActivity.this,android.R.layout.simple_list_item_1, null);
     93             TextView textView=(TextView) view.findViewById(android.R.id.text1);
     94             textView.setText(secondNames[groupPosition][childPosition]);
     95             return view;
     96         }
     97         
     98         @Override
     99          //获取二级列表给定的ID
    100         public long getChildId(int groupPosition, int childPosition) {
    101             // TODO Auto-generated method stub
    102             return childPosition;
    103         }
    104         
    105         @Override
    106         //获取给定的二级列表的数据
    107         public Object getChild(int groupPosition, int childPosition) {
    108             // TODO Auto-generated method stub
    109             return childPosition;
    110         }
    111     });
    //二级列表监听
    112 elv.setOnChildClickListener(new OnChildClickListener() { 113 114 @Override 115 public boolean onChildClick(ExpandableListView parent, View v, 116 int groupPosition, int childPosition, long id) { 117 Toast.makeText(MainActivity.this, "你点击了第"+(groupPosition+1)+"组的第"+(childPosition+1)+"", 0).show(); 118 return false; 119 } 120 }); 121 122 123 124 125 } 126 127 128 }
  • 相关阅读:
    七、python抽象
    六、python条件、循环及其它语句
    泛型数组
    判断数组是否包含此元素
    数组倒序
    Class字节码文件获取的三种方法
    操作系统的产生
    Java重载的概述
    表设计遵循的三大范式实例
    pyqt5窗体分隔
  • 原文地址:https://www.cnblogs.com/1426837364qqcom/p/5150627.html
Copyright © 2011-2022 走看看