android 学习之ExpandableListView
ExpandableListView是ListView的子类,他在ListView的基础上进行了扩展,它可以将列表项分为几组....以下就是我的一些代码
package com.hurui.myexpandablelistview; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.Gravity; 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 MainActivity extends AppCompatActivity {private ExpandableListView my_expand; @Override protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); my_expand=(ExpandableListView)findViewById(R.id.my_expanview); final String[] armtype={"我的好友","我的兄弟","我的寝室"}; final String[][] arms={{"李文涛","李建宝","刘巍","郑淼","赵超"}, {"王弄潇","高敏","陈浩","冯辉"}, {"胡锐","付必胜","徐浩浩","陈磊"}}; ExpandableListAdapter adapter=new BaseExpandableListAdapter() {@Override //返回共有多少个父选项 public int getGroupCount() {return armtype.length; }//返回子菜单的长度.... @Override public int getChildrenCount(int groupPosition) {return arms[groupPosition].length; }//返回父选项下的数组 @Override public Object getGroup(int groupPosition) {return armtype[groupPosition]; }//返回子选项的第几个... @Override public Object getChild(int groupPosition, int childPosition) {return arms[groupPosition][childPosition]; }//返回父选项的ID @Override public long getGroupId(int groupPosition) {return groupPosition; }//返回子选项的ID... @Override public long getChildId(int groupPosition, int childPosition) {return childPosition; }@Override public boolean hasStableIds() {return true; }@Override public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {LinearLayout ll=new LinearLayout(MainActivity.this); ll.setOrientation(LinearLayout.HORIZONTAL); ImageView logo=new ImageView(MainActivity.this); logo.setImageResource(R.mipmap.img08); ll.addView(logo); TextView textView=getTextView(); textView.setText(getGroup(groupPosition).toString()); ll.addView(textView); return ll; }//得到子选项的view @Override public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) {TextView tv=getTextView(); tv.setText(getChild(groupPosition,childPosition).toString()); return tv; }@Override public boolean isChildSelectable(int groupPosition, int childPosition) {return true; }//自定义的TextView控件 public TextView getTextView(){TextView tv=new TextView(MainActivity.this); AbsListView.LayoutParams ap=new AbsListView.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,64); tv.setLayoutParams(ap); tv.setGravity(Gravity.CENTER_VERTICAL|Gravity.LEFT); tv.setPadding(16,0,0,0); tv.setTextSize(20); return tv; }}; my_expand.setAdapter(adapter); } }
以下是这段代码产生的效果图...
android 学习之ExpandableListView相关推荐
- 《Android学习指南》目录
转自:http://android.yaohuiji.com/about Android学习指南的内容分类: 分类 描述 0.学习Android必备的Java基础知识 没有Java基础的朋友,请不要先 ...
- Android:Android学习路线图
https://blog.csdn.net/libing1991_/article/details/53455243 前言 工作快一年,Android完全靠自学,看着那些基础教程一步步去做,写过简单的 ...
- Android微信通讯录界面代码,Android中使用Expandablelistview实现微信通讯录界面
之前的博文<Android 中使用ExpandableListView 实现分组的实例>我简单介绍了使用ExpandableListView实现简单的好友分组功能,今天我们针对之前的所做的 ...
- Android学习资源汇总
镇楼:Android官方培训课程中文版 学习网址 Android官网API,文档,开发,资讯 玩Android–鸿洋名下 trinea segmentfault头条 Google Android De ...
- Android学习路线
Android学习路线 第一阶段:Java面向对象编程 1.Java基本数据类型与表达式,分支循环. 2.String和StringBuffer的使用.正则表达式. 3.面向对象的抽象,封装,继承 ...
- 一篇文章一张思维导图看懂Android学习最佳路线
一篇文章一张思维导图看懂Android学习最佳路线 先上一张android开发知识点学习路线图思维导图 Android学习路线从4个阶段来对Android的学习过程做一个全面的分析:Android初级 ...
- Android学习系列(10)--App列表之拖拽ListView(上)
研究了很久的拖拽ListView的实现,受益良多,特此与尔共飨. 鉴于这部分内容网上的资料少而简陋,而具体的实现过程或许对大家才有帮助,为了详尽而不失真,我们一步一步分析,分成两篇文章. ...
- Android学习第一书
大家好,我是一名Facebook的工程师,同时也是<第一行代码--Android>的忠实读者. 虽然我最近几年是在国外读书和工作的,但是和很多人一样,我也非常喜欢郭霖的博客以及他写的< ...
- Android学习笔记21:ImageView获取网络图片
Android平台有3种网络接口可以使用,它们分别是:java.net.*(标准java接口).org.apache(Apache接口)和android.net.*(Android网络接口).本文将使 ...
最新文章
- Java查询spark中生成的文件_java+spark-sql查询excel
- DNS原理及其解析过程(转)
- 定了!2021年数据中心《能源管理师》考试,全国报名入口!
- 大寨鸿蒙系统的电器,华为传来两个好消息,鸿蒙OS大时代将于6月2日正式开启...
- Mysql数据库的高可用
- cvc 降噪_哪款蓝牙耳机降噪效果最好,降噪音质俱佳的蓝牙耳机推荐
- duplicate复制数据库
- OpenSSL生成RSA公私钥(java)
- centos usb转网口_Linux环境下使用 USB转串口驱动(一)
- 云原生API网关 - 开源项目Hango网关设计与实践
- Android APP开机自启动基本方法
- 基于Java的网上作业批改系统
- 从“黑五”看亚马逊海外购的变与不变
- 2020大数据面经整理
- 如何进行windows10 c盘清理?使用什么清理方法?
- 架构师修炼之道学习笔记
- 物权法全文内容有哪些呢-广告外链_有哪些网络推广免费平台?通过哪些平台进行免费推广及注意事项?...
- 数字认证公司的bjca证书报错原因,垃圾产品
- 美国FBI招聘测试题
- SVA——断言属性之序列(sequence与property的用法)
热门文章
- 洛谷P3258 [JLOI2014]松鼠的新家
- 每日签到功能怎么实现的?
- 计算机基础图文混合排版作业,《图文表混合排版》说课稿
- 青龙面板羊毛脚本之太太乐积分话费
- 数字证书和密钥加密的理解
- 怜惜,才是最真挚的爱情
- c语言动态规划回溯的原理,「算法思想」分治、动态规划、回溯、贪心一锅炖...
- python笔记--使用solve算出黄金分割比近似值
- Apache配置应用与日志管理__GongWei1997
- 在2012年09月20号这一天,2345浏览器的V2.1版本,溜出来了!