android ExpandableListActivity简介

2024-06-06 16:38

本文主要是介绍android ExpandableListActivity简介,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

主函数
package com.example.expandlistactivity;import java.util.ArrayList;
import java.util.List;import android.app.ExpandableListActivity;
import android.os.Bundle;
import android.widget.ExpandableListView;public class MainActivity extends ExpandableListActivity  {@Override  public void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.activity_main);  List<String> gl = new ArrayList<String>();  List<List<String>> cl = new ArrayList<List<String>>();  gl.add("gr1");  gl.add("gr2");  gl.add("gr3");  List<String> chil1 = new ArrayList<String>();  chil1.add("c11");  chil1.add("c12");  chil1.add("c13");  chil1.add("c14");  chil1.add("c15");  chil1.add("c16");  chil1.add("c17");  chil1.add("c18");  List<String> chil2 = new ArrayList<String>();  chil2.add("c21");  chil2.add("c22");  chil2.add("c23");  chil2.add("c24");  chil2.add("c25");  chil2.add("c26");  chil2.add("c27");  chil2.add("c28");  List<String> chil3 = new ArrayList<String>();  chil3.add("c31");  chil3.add("c32");  chil3.add("c33");  chil3.add("c34");  chil3.add("c35");  chil3.add("c36");  chil3.add("c37");  chil3.add("c38");  cl.add(chil1);  cl.add(chil2);  cl.add(chil3);  adapter e = new adapter(this, gl, cl);  ExpandableListView expandableListView = getExpandableListView();  // 设置适配器  expandableListView.setAdapter(e);  // 设置组图标 可以使用selector  expandableListView.setGroupIndicator(getResources().getDrawable(  R.drawable.away));  // 设置组图标位置  expandableListView.setIndicatorBounds(0, 180);  // 设置子项图标  expandableListView.setChildIndicator(getResources().getDrawable(  R.drawable.busy));  // 设置子项图标位置  expandableListView.setChildIndicatorBounds(0, 180);  }  
}


显示expandableListView的adapter

package com.example.expandlistactivity;import java.util.ArrayList;
import java.util.List;import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseExpandableListAdapter;
import android.widget.TextView;public class adapter extends BaseExpandableListAdapter {  List<String> GroupList = new ArrayList<String>();  List<List<String>> ChildrenList = new ArrayList<List<String>>();  Context context = null;  public adapter(Context c, List<String> gl, List<List<String>> cl) {  context = c;  GroupList.addAll(gl);  ChildrenList.addAll(cl); }  // 返回组的总数  @Override  public int getGroupCount() {  return GroupList.size();  }  // 返回子项总数  @Override  public int getChildrenCount(int groupPosition) {  return ChildrenList.get(groupPosition).size();  }  // 返回组对象  @Override  public Object getGroup(int groupPosition) {  return GroupList.get(groupPosition);  }  // 返回子项对象  @Override  public Object getChild(int groupPosition, int childPosition) {  return ChildrenList.get(groupPosition).get(childPosition);  }  // 返回组ID  @Override  public long getGroupId(int groupPosition) {  return groupPosition;  }  // 返回子项ID  @Override  public long getChildId(int groupPosition, int childPosition) {  return childPosition;  }  // 是否具有固定ID  @Override  public boolean hasStableIds() {  return false;  }  // 返回组VIEW  @Override  public View getGroupView(int groupPosition, boolean isExpanded,  View convertView, ViewGroup parent) {  TextView tv = new TextView(context);  tv.setText(GroupList.get(groupPosition));  tv.setHeight(40);  return tv;  }  // 返回子项VIEW  @Override  public View getChildView(int groupPosition, int childPosition,  boolean isLastChild, View convertView, ViewGroup parent) {  TextView tv = new TextView(context);  
//        for(int i=0;i<childPosition + 1;i++){//这两种方式都可以在页面显示child
//            tv.setText(ChildrenList.get(groupPosition).get(i));  
//            tv.setHeight(40);  
//        } tv.setText(ChildrenList.get(groupPosition).get(childPosition));  tv.setHeight(40);  return tv;  }  // 子项是否可以被选中  @Override  public boolean isChildSelectable(int groupPosition, int childPosition) {  return true;  }  
}  

xml文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical" ><ExpandableListViewandroid:id="@id/android:list"android:layout_width="fill_parent"android:layout_height="wrap_content" ></ExpandableListView></LinearLayout>


这篇关于android ExpandableListActivity简介的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1036652

相关文章

Android使用java实现网络连通性检查详解

《Android使用java实现网络连通性检查详解》这篇文章主要为大家详细介绍了Android使用java实现网络连通性检查的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录NetCheck.Java(可直接拷贝)使用示例(Activity/Fragment 内)权限要求

2025最新版Android Studio安装及组件配置教程(SDK、JDK、Gradle)

《2025最新版AndroidStudio安装及组件配置教程(SDK、JDK、Gradle)》:本文主要介绍2025最新版AndroidStudio安装及组件配置(SDK、JDK、Gradle... 目录原生 android 简介Android Studio必备组件一、Android Studio安装二、A

Java Docx4j类库简介及使用示例详解

《JavaDocx4j类库简介及使用示例详解》Docx4j是一个强大而灵活的Java库,非常适合需要自动化生成、处理、转换MicrosoftOffice文档的服务器端或后端应用,本文给大家介绍Jav... 目录1.简介2.安装与依赖3.基础用法示例3.1 创建一个新 DOCX 并添加内容3.2 读取一个已存

Java中最全最基础的IO流概述和简介案例分析

《Java中最全最基础的IO流概述和简介案例分析》JavaIO流用于程序与外部设备的数据交互,分为字节流(InputStream/OutputStream)和字符流(Reader/Writer),处理... 目录IO流简介IO是什么应用场景IO流的分类流的超类类型字节文件流应用简介核心API文件输出流应用文

Android实现图片浏览功能的示例详解(附带源码)

《Android实现图片浏览功能的示例详解(附带源码)》在许多应用中,都需要展示图片并支持用户进行浏览,本文主要为大家介绍了如何通过Android实现图片浏览功能,感兴趣的小伙伴可以跟随小编一起学习一... 目录一、项目背景详细介绍二、项目需求详细介绍三、相关技术详细介绍四、实现思路详细介绍五、完整实现代码

在Android中使用WebView在线查看PDF文件的方法示例

《在Android中使用WebView在线查看PDF文件的方法示例》在Android应用开发中,有时我们需要在客户端展示PDF文件,以便用户可以阅读或交互,:本文主要介绍在Android中使用We... 目录简介:1. WebView组件介绍2. 在androidManifest.XML中添加Interne

Spring Security简介、使用与最佳实践

《SpringSecurity简介、使用与最佳实践》SpringSecurity是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架,本文给大家介绍SpringSec... 目录一、如何理解 Spring Security?—— 核心思想二、如何在 Java 项目中使用?——

Java Stream 并行流简介、使用与注意事项小结

《JavaStream并行流简介、使用与注意事项小结》Java8并行流基于StreamAPI,利用多核CPU提升计算密集型任务效率,但需注意线程安全、顺序不确定及线程池管理,可通过自定义线程池与C... 目录1. 并行流简介​特点:​2. 并行流的简单使用​示例:并行流的基本使用​3. 配合自定义线程池​示

Android协程高级用法大全

《Android协程高级用法大全》这篇文章给大家介绍Android协程高级用法大全,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友跟随小编一起学习吧... 目录1️⃣ 协程作用域(CoroutineScope)与生命周期绑定Activity/Fragment 中手

PostgreSQL简介及实战应用

《PostgreSQL简介及实战应用》PostgreSQL是一种功能强大的开源关系型数据库管理系统,以其稳定性、高性能、扩展性和复杂查询能力在众多项目中得到广泛应用,本文将从基础概念讲起,逐步深入到高... 目录前言1. PostgreSQL基础1.1 PostgreSQL简介1.2 基础语法1.3 数据库