- 浏览: 64405 次
- 性别:
- 来自: 沈阳
文章分类
最新评论
客户提出需求,要求分组列表单击一个group其他的group应该关闭,这个group的group标题应该顶头。
我网上大致找了一圈没找到相关的,于是去google group里搜索了下 ,发现有人提出了他的解决方法:
http://groups.google.com/group/android-developers/browse_thread/thread/638f7ae1cb75b710/0154a631a2f38717?lnk=gst&q=setOnGroupClickListener#0154a631a2f38717
受此启发我想出了自己的方法,重写setOnGroupClickListener方法,使用flag控制:
定义flag记录列表状态
int expandFlag = -1;//控制列表的展开
重写onGroupClick方法
ExpandableListView listView = getExpandableListView();
listView.setOnGroupClickListener(new OnGroupClickListener() {
@Override
public boolean onGroupClick(ExpandableListView listView, View v,
int groupPosition, long id) {
if (expandFlag == -1) {
//展开被选的group
listView.expandGroup(groupPosition);
//设置被选中的group置于顶端
listView.setSelectedGroup(groupPosition);
expandFlag = groupPosition;
} else if (expandFlag == groupPosition) {
listView.collapseGroup(expandFlag);
expandFlag = -1;
} else {
listView.collapseGroup(expandFlag);
//展开被选的group
listView.expandGroup(groupPosition);
//设置被选中的group置于顶端
listView.setSelectedGroup(groupPosition);
expandFlag = groupPosition;
}
return true;
}
});
经测试完成要求,看起来挺简单的实现,可惜卡了我有两三个小时,主要是没想到这个方法呀,
感谢google group提问和回答的人帮助我开拓了思路。
发表评论
-
android 备用
2014-08-03 13:26 444http://blog.csdn.net/rain_butte ... -
Android中px与dip,sp与dip等的转换工具类(转)
2014-07-16 20:07 600http://www.cnblogs.com/wader201 ... -
android 字体总结
2014-07-15 21:53 548Android提供三种字体:“Sans”,“serif“和“m ... -
mina
2014-07-03 14:12 502http://chwshuang.iteye.com/blog ... -
android获取IMEI
2014-06-17 08:34 534核心代码: Imei = ((TelephonyMan ... -
andorid ui
2014-06-04 22:39 0http://blog.csdn.net/ddddpow/ar ... -
android alarmManage
2014-05-28 21:47 700转自:http://jinguo.iteye.com/bl ... -
adaf
2014-05-27 22:32 0http://www.eoeandroid.com/thr ... -
weixin
2014-05-13 22:42 0android weisixn -
jpajpa
2014-01-28 15:06 508http://www.iteye.com/problems/9 ... -
吉安帕
2014-01-23 22:30 0dfsgdaffgadrgad -
CrudRepository
2013-11-28 19:58 0PagingAndSortingRepository Cr ... -
Android 的第三方报表组件,AChartEngine 案列
2013-08-19 16:48 0http://www.kuaipan.cn/file/id_3 ... -
android sdk adress
2013-08-12 13:23 479developer.android.com/sdk/index ... -
android 结束进程
2013-07-29 22:01 733Android获取apk的版本及包名等信息 http://bl ... -
adnroid 4.0.3去掉虚拟导航栏
2013-07-27 20:54 1030http://blog.csdn.net/wfh1988/ar ... -
andorid全屏
2013-07-27 10:15 791super.onCreate(savedIns ... -
Foursquare
2012-10-12 17:22 0Foursquare -
sqllite brower
2012-09-11 23:05 672http://www.oschina.net/p/sqlite ... -
notice
2012-09-03 21:13 692http://tibaloga.iteye.com/blog/ ...
相关推荐
为了解决这个问题,我们可以创建一个`Handler`来异步发送消息,并在处理消息时调用`notifyDataSetChanged()`: ```java Handler handler = new Handler() { @Override public void handleMessage(Message msg) { ...
在Android开发中,`ExpandableListView`是一种常用的控件,它扩展了标准的`ListView`功能,允许子项可以被展开或折叠,呈现层次结构的数据。这个控件非常适合用来展示具有树状结构的信息,比如菜单、目录或者组织...
以上就是关于“ExpandableListView解决子级背景色混乱和父级展开项唯一效果实现”的详细解答。理解并应用这些技巧可以帮助开发者更高效地使用ExpandableListView,提供更好的用户体验。在实际项目中,可能还需要结合...
在Android开发中,有时我们需要展示层次结构复杂的数据,这时`ExpandableListView`就显得非常有用。...然而,这也意味着需要处理更多的逻辑和细节,因此开发者需要有扎实的Android开发基础和问题解决能力。
解决这个问题的一种方法是自定义一个ExpandableListView子类,重写其`onMeasure()`方法。在提供的代码中,我们看到创建了一个名为`CustomExpandableListView`的类,它继承自ExpandableListView。重写`onMeasure()`的...
总之,"expandableListview侧滑删除demo"是一个很好的实践案例,它展示了如何将流行的侧滑删除功能集成到ExpandableListView中,为用户提供更直观、便捷的操作方式。通过学习和研究这个示例,开发者能够进一步提升...
在这个“Android-ExpandableListView制作时间轴-TimeLine”项目中,开发者创建了一个时间轴的示例,使得用户可以根据时间顺序查看事件。这种布局非常适合展示历史记录、日程安排或者任何按照时间顺序排列的信息。 ...
这些问题都可以通过学习相关文章和实例来解决,比如Android UI控件`ExpandableListView`的基本用法、自定义指示器、刷新问题的解决以及实现手风琴效果等。持续学习和实践,将有助于你更好地掌握`ExpandableListView`...
至于如何控制父项的展开和折叠,我们可以在数据模型中添加一个状态字段,如`expanded`,并提供一个方法来切换这个状态。在`getView()`中,根据这个状态来决定是否显示或隐藏子项。同时,你需要监听ListView的点击...
`listViewDemo`可能包含了一个简单的`ExpandableListView`的示例代码。分析这个代码可以找出导致问题的具体原因,如数据源的设置、适配器的实现或者事件监听器的配置。 7. **解决方案**: - 检查数据源是否正确...
在Android应用开发中,`ExpandableListView`是一个非常实用的组件,它允许用户展示一个可展开和折叠的列表,常用于构建层次结构清晰的数据展示,例如在本例中被用作购物车的实现。购物车通常包含多个商品,每个商品...
首先,`ExpandableListView`是一个扩展性的列表视图,允许每个列表项可以进一步展开显示子项。它在`ListView`的基础上增加了层次结构,非常适合于显示具有树状结构的数据。使用`ExpandableListView`时,你需要创建...
ListView是Android中的一个视图容器,它可以显示一列可滚动的项目列表。开发者通常结合Adapter来填充数据,Adapter负责将数据转化为ListView可显示的View。要实现ListView的下拉刷新,可以使用第三方库如...
关于ExpandableListView长按事件处理,网上很多都是使用将上下文菜单注册到ExpandableListView上实现长按事件。这样做弊端显而易见,不够灵活,不能分别对父项、子项、父项之间、子项之间弹出内容做区分。下面来说我...
Android是一种基于Linux内核(不包含GNU组件)的自由及开放源代码的移动操作系统,主要应用于移动设备,如智能手机和平板电脑。该系统最初由安迪·鲁宾开发,后被Google公司收购并注资,随后与多家硬件制造商、软件...
在Android开发中,有时我们需要创建复杂布局以满足用户界面的需求,比如实现一个多级展示的数据结构。在这种情况下,自定义ListView内嵌GridView或者使用ExpandableListView是常见解决方案。这两种方法可以帮助我们...
`ExpandableListView`是Android SDK提供的一种可扩展的列表视图,它可以显示一个父列表项,每个父列表项下还可以展开展示子列表项,这样就能清晰地展现层级关系。 1. **ExpandableListView的基本使用** - 初始化:...
标题“支持侧滑动作的自定义ExpandableListView”暗示了我们将在一个`ExpandableListView`的基础上添加侧滑手势检测和相应的处理逻辑。这是一个增强用户交互体验的重要步骤,因为侧滑操作能提供一种直观且高效的方式...