android的ExpandableListView

归志宁无五亩园,读书本意在元元。这篇文章主要讲述android的ExpandableListView相关的知识,希望能为你提供帮助。
activity_main.xml



< RelativeLayout  xmlns:android="http://schemas.android.com/apk/res/android"         xmlns:tools="http://schemas.android.com/tools"         android:layout_width="match_parent"         android:layout_height="match_parent"         android:paddingBottom="@dimen/activity_vertical_margin"         android:paddingLeft="@dimen/activity_horizontal_margin"         android:paddingRight="@dimen/activity_horizontal_margin"         android:paddingTop="@dimen/activity_vertical_margin"         tools:context="com.example.expandablelistview.MainActivity"  >         < ExpandableListView                  android:id="@+id/ExpandableListView1_1"                 android:layout_width="match_parent"                 android:layout_height="wrap_content"               android:layout_alignParentLeft="true"               android:layout_alignParentTop="true"               android:groupIndicator="@null"                                                 >                         < /ExpandableListView> < /RelativeLayout> < !--    android:groupIndicator="@null"去掉自带的箭头图标  -->

group_item.xml
< ?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="wrap_content"         android:orientation="horizontal"  >                 < ImageView                 android:id="@+id/imageViewgroup_1"                  android:layout_width="wrap_content"                 android:layout_height="wrap_content"                 android:src="https://www.songbingjia.com/android/@drawable/ic_launcher"                 />         < TextView          android:id="@+id/textViewgroup_1"         android:layout_width="wrap_content"         android:layout_height="wrap_content"             /> < /LinearLayout>



child_item.xml
< ?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="wrap_content"         android:orientation="horizontal"  >                           < ImageView                 android:id="@+id/imageViewchild_1"                  android:layout_width="wrap_content"                 android:layout_height="wrap_content"                 android:src="https://www.songbingjia.com/android/@drawable/ic_launcher"                 android:padding="10dp"                 />         < TextView          android:id="@+id/textViewchild_1"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:text="sdfds"         android:padding="10dp"     /> < /LinearLayout>

MainActivity
package  com.example.expandablelistview; import  android.app.Activity; import  android.os.Bundle; import  android.view.Menu; import  android.view.MenuItem; import  android.view.View; import  android.view.ViewGroup; import  android.widget.BaseExpandableListAdapter; import  android.widget.ExpandableListView; import  android.widget.ImageView; import  android.widget.TextView; public  class  MainActivity  extends  Activity  { private  ExpandableListView  expandableListView; @Override protected  void  onCreate(Bundle  savedInstanceState)  { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); expandableListView=(ExpandableListView)  findViewById(R.id.ExpandableListView1_1); expandableListView.setAdapter(new  MyExpandableListAdapter()); } @Override public  boolean  onCreateOptionsMenu(Menu  menu)  { //  Inflate  the  menu;   this  adds  items  to  the  action  bar  if  it  is  present. getMenuInflater().inflate(R.menu.main,  menu); return  true; } @Override public  boolean  onOptionsItemSelected(MenuItem  item)  { //  Handle  action  bar  item  clicks  here.  The  action  bar  will //  automatically  handle  clicks  on  the  Home/Up  button,  so  long //  as  you  specify  a  parent  activity  in  AndroidManifest.xml. int  id  =  item.getItemId(); if  (id  ==  R.id.action_settings)  { return  true; } return  super.onOptionsItemSelected(item); } class  MyExpandableListAdapter  extends  BaseExpandableListAdapter{ private  String[]  skills  =  new  String[]{                         "WORD",  "EXCEL",  "EMAIL",  "PPT"         }; private  String[][]  groups  =  new  String[][]{                         {"文档编辑",  "文档排版",  "文档处理",  "文档打印"},                         {"表格编辑",  "表格排版",  "表格处理",  "表格打印"},                         {"收发邮件",  "管理邮箱",  "登录登出",  "注册绑定"},                         {"演示编辑",  "演示排版",  "演示处理",  "演示打印"},         }; @Override public  int  getGroupCount()  { //  TODO  Auto-generated  method  stub return  skills.length; } //二级列表的数量 @Override public  int  getChildrenCount(int  groupPosition)  { //  TODO  Auto-generated  method  stub return  groups[groupPosition].length; } //返回每一组的对象 @Override public  Object  getGroup(int  groupPosition)  { //  TODO  Auto-generated  method  stub return  skills[groupPosition]; } //返回每组中的列表项 @Override public  Object  getChild(int  groupPosition,  int  childPosition)  { //  TODO  Auto-generated  method  stub return  groups[groupPosition][childPosition]; }@Override public  long  getGroupId(int  groupPosition)  { //  TODO  Auto-generated  method  stub return  groupPosition; }@Override public  long  getChildId(int  groupPosition,  int  childPosition)  { //  TODO  Auto-generated  method  stub return  childPosition; }@Override public  boolean  hasStableIds()  { //  TODO  Auto-generated  method  stub return  true; }@Override public  View  getGroupView(int  groupPosition,  boolean  isExpanded, View  convertView,  ViewGroup  parent)  { //  TODO  Auto-generated  method  stub if(convertView==null){ convertView=getLayoutInflater().inflate(R.layout.group_item,  null); } ImageView  imageView=(ImageView)  convertView.findViewById(R.id.imageViewgroup_1); TextView  textView=(TextView)  convertView.findViewById(R.id.textViewgroup_1); imageView.setImageResource(R.drawable.ic_launcher); textView.setText(skills[groupPosition]); return  convertView; }@Override public  View  getChildView(int  groupPosition,  int  childPosition, boolean  isLastChild,  View  convertView,  ViewGroup  parent)  { //  TODO  Auto-generated  method  stub if(convertView==null){ convertView=getLayoutInflater().inflate(R.layout.child_item,  null); ImageView  imageView=(ImageView)  convertView.findViewById(R.id.imageViewchild_1); TextView  textView=(TextView)  convertView.findViewById(R.id.textViewchild_1); imageView.setImageResource(R.drawable.ic_launcher); textView.setText(groups[groupPosition][childPosition]); } return  convertView; }@Override public  boolean  isChildSelectable(int  groupPosition,  int  childPosition)  { //  TODO  Auto-generated  method  stub return  true; } } }

android的ExpandableListView

文章图片

【android的ExpandableListView】本文出自 “matengbing” 博客,请务必保留此出处http://matengbing.blog.51cto.com/11395502/1882709

    推荐阅读