1. 设置ExpandableListView 默认是展开的: 
先实例化exListView 然后

    exListView.setAdapter(exlvAdapter);
//遍历所有group,将所有项设置成默认展开
intgroupCount = exListView.getCount();
for (inti=; i<groupCount; i++)
{
exListView.expandGroup(i);
};

2. 去掉ExpandableListView 默认的箭头 
用到ExpandableListView时有个箭头图标系统自带的在你自定义布局也不能去掉只要设置一个属性即可,如下: 
settingLists.setGroupIndicator(null); ~~~~~~~~~~~~~~~~~此处就是设置自定义的箭头图标的。置空则没有了。  
也可以自定义(但是位置还是在那个地方不推荐)如下: 
首先,自定义一个expandablelistviewselector.xml文件,具体内容如下: Java代码

    <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_expanded="true" android:drawable="@drawable/expandablelistviewindicatordown" />
<item android:drawable="@drawable/expandablelistviewindicator" />
</selector>

加一句代码如下:

    settingLists.setGroupIndicator(this.getResources().getDrawable(R.layout.expandablelistviewselector));
或xml设置:
android:groupIndicator="@drawable/groupIndicator_selector"

3. 将默认的箭头修改到右边显示: 
 
1首先ExpandableListViewelistview;

elistview.setGroupIndicator(null);//将控件默认的左边箭头去掉,

2在自定义的继承自BaseExpandableListAdapter的adapter中有一个方法

    /** * 父类view */ 
   @Override
public View getGroupView(intgroupPosition, booleanisExpanded, View convertView, ViewGroup parent)
{ Log.i("zhaoxiong","parent view");
LinearLayoutparentLayout=(LinearLayout) View.inflate(context, R.layout.wowocoupons_parent_item, null);
TextViewparentTextView=(TextView)parentLayout.findViewById(R.id.parentitem);
parentTextView.setText(parentlist.get(groupPosition));
ImageViewparentImageViw=(ImageView) parentLayout.findViewById(R.id.arrow);
//判断isExpanded就可以控制是按下还是关闭,同时更换图片
if(isExpanded){
parentImageViw.setBackgroundResource(R.drawable.arrow_down);
}else{
parentImageViw.setBackgroundResource(R.drawable.arrow_up); }
return parentLayout;
}

expandablelistview响应onGroupClick监听:设置expandablelistview.setOnGroupClickListener()
折叠和展开事件,可以设置setOnGroupCollapseListener和setOnGroupExpandListener

ExpandableListView中包含多个group,想要展开一个group时,其他group都关闭:

    exList.setOnGroupExpandListener(new OnGroupExpandListener() {    

            @Override
public void onGroupExpand(int groupPosition) {
for (int i = ; i < getData().size(); i++) {
if (groupPosition != i) {
exList.collapseGroup(i);
}
} } });

3.expandablelistview的Group点击事件,onGroupClick的返回值false展开,true不展开

  tt_list.setOnGroupClickListener(new OnGroupClickListener() {  

            @Override
public boolean onGroupClick(ExpandableListView parent, View v,
int groupPosition, long id) {
IsFlag=true; if(adapter.getGroupData().get(groupPosition).getList().size()==){
Bundle b=new Bundle();
b.putInt("saveIndex", );
// b.putString("mac", mac);
// b.putString("deviceId", mDeviceId);
b.putSerializable("datalist", adapter.getGroupData().get(groupPosition).getList());
Intent i=new Intent(WappushBindingActivity.this,VideoPlayerActivity.class);
i.putExtras(b);
startActivity(i);
}
// int groupCount = tt_list.getCount();
// for (int i=0; i<groupCount; i++){
// if(i!=GroupPosition)
// tt_list.collapseGroup(i);
// };
// Log.v("xulongheng*WappushBind*tt_list", "onGroupClick:"+previousX+"/"+previousY);
return true; //默认为false,设为true时,点击事件不会展开Group
}
});

Android之ExpandableListView的属性(Group不展开)的更多相关文章

  1. 使用ExpandableListView——当有Group选项展开时,如何正确获取长按的Group选项。

    当我们使用ExpandableListView时,实现点击一个GroupView则展开ChidView,那么这个时候,Adapter的大小前后是有变化的. 例如:假设有20个GroupView,每个G ...

  2. Android开发 ExpandableListView 可折叠列表详解

    前言 在需要实现一个List的item需要包含列表的时候,我们就可以选择ExpandableListView. 其实这个View的原始设计还是ListView的那套.就是增加2层的ListView而已 ...

  3. android 之 ExpandableListView列表中的列表

    有时候,我们需要设计这样一个界面,外面有一个列表,当我们点击其中列表中的某个条目时,就会展开这个条目,出现一个新的列表.比如下图:(程序运行的效果图,在这里贴出来) 当我们点击第一项时,视图变为: - ...

  4. Android中ExpandableListView控件基本使用

    本文採用一个Demo来展示Android中ExpandableListView控件的使用,如怎样在组/子ListView中绑定数据源.直接上代码例如以下: 程序结构图: layout文件夹下的 mai ...

  5. Android在ExpandableListView控制的基本使用

    在本文中,Demo为了展示Android在ExpandableListView用途管制.如该组/儿子ListView绑定数据源. 直接上代码例如以下: 程序结构图: layout文件夹下的 main. ...

  6. android中xml tools属性详解

    第一部分 安卓开发中,在写布局代码的时候,ide可以看到布局的预览效果. 但是有些效果则必须在运行之后才能看见,比如这种情况:TextView在xml中没有设置任何字符,而是在activity中设置了 ...

  7. android中xmlns:tools属性详解

    今天读到一篇总结的非常棒的文章,写的逻辑很清晰也很实用,很少见到如此棒的文章了.就原文转发过来,我把格式给整理了一下,分享给园子里的各位朋友!好久没写博客了,就为2015年的11月留份纪念吧.希望对你 ...

  8. 22.Android之ExpandableListView树形列表学习

    Android经常用到树形菜单,一般ExpandableListView可以满足这个需要,今天学习下. XML代码: <?xml version="1.0" encoding ...

  9. Android之ExpandableListView

    ExpandableListView可以用来表现多层级的listView,本文主要是ExpandableListView的一个简单实现 布局文件 <LinearLayout xmlns:andr ...

随机推荐

  1. 教你正确地利用Netty建立连接池

    一.问题描述 Netty是最近非常流行的高性能异步通讯框架,相对于Java原生的NIO接口,Netty封装后的异步通讯机制要简单很多. 但是小K最近发现并不是所有开发人员在使用的过程中都了解其内部实现 ...

  2. 安装 Android 运行环境

    如果你恰好有一些旧的. 过时的 Android SDK 版本,请务必把所需的包更新至下面提到的版本并安装所有缺少的部分. 安装和配置 SDK 安装最新的 JDK. 使用 brew install an ...

  3. 常见算法:C语言求最小公倍数和最大公约数三种算法

    最小公倍数:数论中的一种概念,两个整数公有的倍数成为他们的公倍数,当中一个最小的公倍数是他们的最小公倍数,相同地,若干个整数公有的倍数中最小的正整数称为它们的最小公倍数,维基百科:定义点击打开链接 求 ...

  4. win32线程池代码(WinApi/C++)

    win32线程池代码(WinApi/C++) 健壮, 高效,易用,易于扩, 可用于任何C++编译器 //说明, 这段代码我用了很久, 我删除了自动调整规模的代码(因为他还不成熟)/********** ...

  5. 只响应ccTouchBegan的问题

    在Touch事件中,ccTouchBegan有一个返回值,而这一个返回值则决定了是否会继续响应ccTouchMoved,ccTouchEnded. 如果没有返回true的话,则直接会结束此Touch事 ...

  6. Pythn中的super用法

    在Python类的方法(method)中,要调用父类的某个方法,在Python 2.2以前,通常的写法如代码段1: 代码段1: 代码如下: class A: def __init__(self): p ...

  7. vim中systemverilog的高亮显示

    vim中systemverilog的高亮显示 Linux中的vim显示systemverilog语法高亮 windows中的gvim显示systemverilog语法高亮 Linux系统 查看打开vi ...

  8. OD: Big_Endian vs Little_Endian

    经调试,Windows 下为 Little_Endian,OD 中堆栈数据区的 (dword)0xAABB0102,0x02 存储在低地址,0x01 存储在高地址. 内容来自:http://blog. ...

  9. JavaScript: Class.method vs Class.prototype.method

    在stack overflow中看到一个人回答,如下   // constructor function function MyClass () { var privateVariable; // p ...

  10. 关于eclipse几种插件的安装方法

    首先这里的安装方法按文件类型和安装方式来分 首先介绍按不同安装方式来分: 1.利用eclipse自带插件安装功能: 以jode插件为例,启动eclipse,help -> Software Up ...