• 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 }
  • 相关阅读:
    三菱Q系列PLC MC协议通讯
    相机常用属性配置简介[转]---Labview IMAQ 修改相机曝光等参数的方法
    数码显微镜的实际放大倍数的正确计算方法【转载】
    VS2012 C# 配置log4net
    CHM格式帮助文档无法打开的问题
    win10 下安装win7虚拟机
    杂记:使用RawCap和Wireshark对 127.0.0.1或localhost 进行抓包
    杂记:01
    linux应用编程一:文件IO和目录操作
    QTableWidget常用函数及注意事项
  • 原文地址:https://www.cnblogs.com/3674-it/p/5567289.html
Copyright © 2020-2023  润新知