expandablelistview
很多同学在进行编程学习时缺乏系统学习的资料。本页面基于expandablelistview内容,从基础理论到综合实战,通过实用的知识类文章,标准的编程教程,丰富的视频课程,为您在expandablelistview相关知识领域提供全面立体的资料补充。同时还包含 e4a、each、each的用法 的知识内容,欢迎查阅!
expandablelistview相关知识
-
互斥的ExpandableListViewExpandableListView是常用的二级列表,往往需求都会这样设计当点开了一个group,就需要将上一个打开的关闭掉。形成互斥的效果。看了一下api. 发现了一个collapseGroup(int i)的方法,可以关闭group。试了几次没有效果,后来才发现,该方法只能在setOnGroupExpandListener方法中起作用,我表示很尴尬,废话就到这里了,马上给各位看官上代码。private ExpandableListView mExpandableListView; private int lastGroupPosition = -1; @Override protected void onCreate(Bundle savedInstanceState) 
-
Android零基础入门第48节:可折叠列表ExpandableListView上一期学习了AutoCompleteTextView和MultiAutoCompleteTextView,你已经掌握了吗?本期开始学习ExpandableListView的使用。一、认识ExpandableListView ExpandableListView 是 ListView 的子类,它在普通ListView的基础上进行了扩展,它把应用中的列表项分为几组,每组里又可包含多个列表项。 ExpandableListView的用法与普通 ListView的用法非常相似,只是 ExpandableListView所显示的列表项应 该由 ExpandableListAdapter 提供。ExpandableListAdapter 也是一个接口,该接口下提供的类继承关系图如下图所示。 &
-
ExpandableListView的使用多级列表多级列表ExpandableListView 扩展列表能够显示一个指示在每项显示项的当前状态(状态通常是一个扩展的组,组的孩子,或倒塌,最后一个孩子)。使用setchildindicator(drawable)或setgroupindicator(drawable)(或相应的XML属性)来设置这些指标,一个默认的风格多级列表提供指标,将示给意见多级列表。布局android.r.layout.simple_expandable_list_item_1和android.r.layout.simple_expandable_list_item_2(应用simplecursortreeadapter)包含位置信息的首选指标。 1 activity_main.xml 2 <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android" 3
-
ListView和ExpandableListView的侧滑删除操作本案例主要实现了ListView和ExpandableListView的侧滑删除操作功能效果图: 代码: 1 自定义ListView 2 public class ZQListView extends ListView { 3 4 private static final String TAG ="ZQListView "; 5 6 private ZQView mFocusedItemView; 7 8 &nbs
expandablelistview相关课程
expandablelistview相关教程
- 3. ExpandableListView 示例 ExpandableListView 主要是在 ListView 的基础之上加上了折叠的分类效果,所以本节就通过 ExpandableListView 实现对数据的二级分类列表效果,大类就用大家比较熟悉的某竞技游戏里面的英雄分类,而子类就是该类别里面的几个英雄。PS:英雄分类仁者见仁智者见智,青铜选手求各位骨灰玩家轻拍
- 1. ExpandableListView 的特性 ExpandableListView 继承自 ListView,这意味着它拥有 ListView 的所有属性,是 ListView 的升级版。它在 ListView 的基础上增加了子列表,当我们点击某个列表项的时候,它会展开显示所有的子 item;当我们再次点击该列表项的时候,它会收缩隐藏所有的子 item,其中子 item 相当于是一个 ListView,我们可以给它设置不同的列表样式及点击事件,通常适用于有两级分类并且子类比较多的列表场景。
- 3.1 编写 Activity 的布局文件 和前几节的例子一样,我们仅需要在根布局中防止一个 ExpandableListView 即可,然后设置上相应的属性,如下:<ExpandableListView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/expandableListView" android:layout_width="match_parent" android:layout_height="match_parent" android:divider="@android:color/darker_gray" android:dividerHeight="0.5dp" android:indicatorLeft="?android:attr/expandableListPreferredItemIndicatorLeft" android:padding="30dp" />
- 3.5 编写 MainActivity 前面已经实现了布局、数据、适配器等模块的编写,整个 ExpandableListView 的框架就已经搭建完毕了。虽然本节的示例比较简单,代码量也比较少,但是也希望大家在学习过程中能够注重模块的编写顺序,循序渐进的培养自己搭建一个更完整的更大型架构的能力。框架搭建完毕就可以进入业务代码的编写了,在MainActivity中我们主要做以下4件事:设置布局文件并从布局文件中拿到 ExpandableListView 实例;获取数据集(实际使用中可能是从网络获取或者本地读取);创建适配器,并为 ExpandableListView 实例设置适配器;为 ExpandableListView 添加相应的事件监听器,并实现监听器接口中的回调方法。按照以上 4 步来做即可,代码如下:package com.emercy.myapplication;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.ExpandableListAdapter;import android.widget.ExpandableListView;import android.widget.Toast;import java.util.ArrayList;import java.util.HashMap;import java.util.List;public class MainActivity extends Activity { HashMap<String, List<String>> expandableListDetail; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 1.设置布局文件并从布局文件中拿到 ExpandableListView 实例; setContentView(R.layout.activity_main); ExpandableListView listView = findViewById(R.id.expandableListView); // 2. 获取数据集(实际使用中可能是从网络获取或者本地读取) expandableListDetail = DataCollection.getData(); final List<String> heroCategory = new ArrayList<>(expandableListDetail.keySet()); // 3. 创建适配器,并为 ExpandableListView 实例设置适配器 ExpandableListAdapter adapter = new MyExpandableListAdapter(this, heroCategory, expandableListDetail); listView.setAdapter(adapter); // 4. 为 ExpandableListView 添加相应的事件监听器,并实现监听器接口中的回调方法 listView.setOnGroupExpandListener(new ExpandableListView.OnGroupExpandListener() { @Override public void onGroupExpand(int groupPosition) { Toast.makeText(getApplicationContext(), heroCategory.get(groupPosition) + " 列表展开", Toast.LENGTH_SHORT).show(); } }); listView.setOnGroupCollapseListener(new ExpandableListView.OnGroupCollapseListener() { @Override public void onGroupCollapse(int groupPosition) { Toast.makeText(getApplicationContext(), heroCategory.get(groupPosition) + " 列表折叠", Toast.LENGTH_SHORT).show(); } }); listView.setOnChildClickListener(new ExpandableListView.OnChildClickListener() { @Override public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) { Toast.makeText(getApplicationContext(), heroCategory.get(groupPosition) + " -> " + expandableListDetail.get(heroCategory.get(groupPosition)) .get(childPosition), Toast.LENGTH_SHORT ).show(); return false; } }); }}编译运行之后,界面上会展示一个 5 大英雄类别的 ListView,点击每个类别系统会回调onGroupExpand方法,我们在当中打印出当前被展开的类别名;然后会弹出该类下的英雄名称,点击英雄名称系统会回调onChildClick方法,我们在方法中打印出被点击的英雄名称;最后我们可以点击已经展开的英雄类别,系统会将点击的类别恢复折叠状态同时回调onGroupCollapse方法,在其中我们打印出被折叠的类别名称,最终效果如下:
- 2.3 事件监听器 ExpandableListView.OnChildClickListener:该接口当中只有一个回调方法:public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id)当我们点击一个子列表项的时候会回调此方法,参数解析ExpandableListView parent:被点击的 ExpandableListView 对象View v:被点击的具体 item 对象int groupPosition:被点击的 item 所在组在主列表的位置int childPosition:被点击的 item 在当前组内的位置ExpandableListView.OnGroupClickListener:接口中只有一个回调方法:public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id)该方法监听某个组的点击事件,当该组内有任意 item 被点击是回调,参数详情参见onGroupClick方法的解析ExpandableListView.OnGroupCollapseListener:只需要实现一个方法:public void onGroupCollapse(int groupPosition)当某个组被折叠收缩的时候会回调此方法,参数表示被收缩的组在整个主列表中的位置ExpandableListView.OnGroupExpandListener:该接口同样是需要实现一个方法:public void onGroupExpand(int groupPosition)当某个组被展开的时候回调此方法
- 3.2 编写列表布局 列表布局类似 ListView 里面的 item 布局,但是由于 ExpandableListView 有主类和子类区分,所以这里需要提供两套布局以适应主列表和展开后的子列表:主列表布局 list_group.xml : <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/listTitle" android:layout_width="fill_parent" android:layout_height="wrap_content" android:paddingLeft="?android:attr/expandableListPreferredItemPaddingLeft" android:paddingTop="10dp" android:paddingBottom="10dp" android:textColor="@android:color/black" />为了突出大分类,字体设置为黑体。子列表布局 list_item.xml :<?xml version="1.0" encoding="utf-8"?><TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/expandedListItem" android:layout_width="fill_parent" android:layout_height="wrap_content" android:paddingLeft="?android:attr/expandableListPreferredChildPaddingLeft" android:paddingTop="10dp" android:paddingBottom="10dp" />
expandablelistview相关搜索
-
e preventdefault
e4a
each
each的用法
easter
easter day
easyui
easyui 官网
echarts
eclipse
eclipse 64位下载
eclipse android
eclipse tomcat
eclipse 教程
eclipse 快捷键
eclipseadt
eclipse安装教程
eclipse插件
eclipse插件下载
eclipse教程