ExpandableListView的子条目不可点击?????

yunmenggyy 2014-09-19 09:15:14
ExpandableListView的子条目中只有两个TextView

<?xml version="1.0" encoding="UTF-8"?>

<!-- 子条目的布局 -->
<LinearLayout
android:orientation="horizontal"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<TextView
android:id="@+id/name"
android:textColor="@color/itembig"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>

<TextView
android:id="@+id/number"
android:textColor="@color/number"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>


</LinearLayout>


网上有人说是因为item里面有可获取焦点的view,可是我在这里及时设置了focusable和Cilckable属性之后,仍然不起作用。子项还是不可点击?????


...全文
115 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
yunmenggyy 2014-09-19
  • 打赏
  • 举报
回复
引用 1 楼 zahngzhic 的回复:
你设的什么监听expandableList.setOnChildClickListener();???? 你的 group 可以点 child 不能点?? 看你现在贴的代码 应该不会啊? 实在不行,你自己给 textView 加点击事件 写回调
我刚刚查了一下,是我没有改写下面函数的返回值状态,默认是返回false

		public boolean isChildSelectable(int groupPosition, int childPosition) {
			
			return true;
		}
我写了expandableList.setOnChildClickListener();,并在这个函数里面接收到了点击事件,但是奇怪的是 他不像ListView那样,点击后就有一个反应,这个点击没有任何现象啊
机智蛋蛋 2014-09-19
  • 打赏
  • 举报
回复
你设的什么监听expandableList.setOnChildClickListener();???? 你的 group 可以点 child 不能点?? 看你现在贴的代码 应该不会啊? 实在不行,你自己给 textView 加点击事件 写回调
ExpandableListView实例(一)_数据库增删改查处理和listitem点击长按处理 本例说明: 1.实例中表现层与数据处理层分开,代码可复用性强,如果能看懂代码对算法会有提高. 2.组和条目上"点击"事件处理,能够区分操作的是组还是条目,并且得到组和条目的内容. 3.组和条目上"长按"事件处理,能够区分组和条目,并且得到组和条目的内容. 4.自定义条目样式,灵活与数据库中字段绑定. 5.实现对DB的增删改查,并且操作后自动刷新. 6.使用数据库处理框架AHibernate灵活操作sqlite数据库,详见: http://blog.csdn.net/lk_blog/article/details/7455992 ExpandableListView实例(二)_两种方式实现QQ中组后面显示条目数量效果 本例说明: QQ,飞信等聊天工具中组后面后会显示有多少个条目,这个是如何实现的呢?查阅了网上还没有相关的介绍,现在本文介绍两种方式实现此功能. 第一种方式:自定义Adapter,重写getGroupView方法. 第二种方式:自定义group.xml中的控件,加一个textview用于显示条目个数. 注:本文数据库处理使用框架AHibernate,可以灵活操作sqlite数据库, 详见: http://blog.csdn.net/lk_blog/article/details/7455992 ExpandableListView实例(三)_实现QQ中"未分组"效果和"未分组"不可编辑删除功能 本例说明: 实现QQ中"未分组"效果和"未分组"不可编辑删除功能. 注:本文数据库处理使用框架AHibernate,可以灵活操作sqlite数据库, 详见: http://blog.csdn.net/lk_blog/article/details/7455992
ExpandableListView实例(一)_数据库增删改查处理和listitem点击长按处理 本例说明: 1.实例中表现层与数据处理层分开,代码可复用性强,如果能看懂代码对算法会有提高. 2.组和条目上"点击"事件处理,能够区分操作的是组还是条目,并且得到组和条目的内容. 3.组和条目上"长按"事件处理,能够区分组和条目,并且得到组和条目的内容. 4.自定义条目样式,灵活与数据库中字段绑定. 5.实现对DB的增删改查,并且操作后自动刷新. 6.使用数据库处理框架AHibernate灵活操作sqlite数据库,详见: http://blog.csdn.net/lk_blog/article/details/7455992 ExpandableListView实例(二)_两种方式实现QQ中组后面显示条目数量效果 本例说明: QQ,飞信等聊天工具中组后面后会显示有多少个条目,这个是如何实现的呢?查阅了网上还没有相关的介绍,现在本文介绍两种方式实现此功能. 第一种方式:自定义Adapter,重写getGroupView方法. 第二种方式:自定义group.xml中的控件,加一个textview用于显示条目个数. 注:本文数据库处理使用框架AHibernate,可以灵活操作sqlite数据库, 详见: http://blog.csdn.net/lk_blog/article/details/7455992 ExpandableListView实例(三)_实现QQ中"未分组"效果和"未分组"不可编辑删除功能 本例说明: 实现QQ中"未分组"效果和"未分组"不可编辑删除功能. 注:本文数据库处理使用框架AHibernate,可以灵活操作sqlite数据库, 详见: http://blog.csdn.net/lk_blog/article/details/7455992
有时候,使用ListView并不能满足应用程序所需要的功能。有些应用程序需要多组ListView,这时候我们就要使用一种新的控件ExpandableListView——可以扩展的ListView。它的作用就是将ListView进行分组。就好像我们使用QQ的时候,有“我的好友”,“陌生人”,“黑名单”一样,点击一下会扩展开,再点击一下又会收缩回去。 ExpandableListView是一个垂直滚动显示两级列表项的视图,与ListView不同的是,它可以有两层:每一层都能够被独立的展开并显示其项。这些项来自于与该视图关联的ExpandableListAdapter。 每一个可以扩展的列表项的旁边都有一个指示符(箭头)用来说明该列表项目前的状态(这些状态一般是已经扩展开的列表项,还没有扩展开的列表项,列表项和最后一个列表项)。可以使用方法:setChildIndicator(Drawable),setGroupIndicator(Drawable)(或者相应的XML文件的属性) 去设置这些指示符的样式。当然也可以使用默认的指示符。布android.R.layout.simple_expandable_list_item_1,android.R.layout.simple_expandable_list_item_2 和ListView一样,ExpandableListView也是一个需要Adapter作为桥梁来取得数据的控件。一般适用于ExpandableListView的Adapter都要继承BaseExpandableListAdapter这个类,并且必须重载getGroupView和getChildView这两个最为重要的方法。 BaseExpandableListAdapter的主要重载方法如下: public abstract ObjectgetChild (int groupPosition, int childPosition) 取得与指定分组、指定项目关联的数据. 参数 groupPosition 包含视图的分组的位置. childPosition 指定的分组中的视图的位置. 返回 与视图关联的数据. public abstract long getChildId (int groupPosition, intchildPosition) 取得给定分组中给定视图的ID. 该组ID必须在组中是唯一的.必须不同于其他所有ID(分组及项目的ID). 参数 groupPosition 包含视图的分组的位置. childPosition 要取得ID的指定的分组中的视图的位置. 返回 与视图关联的ID. public abstract View getChildView (int groupPosition, intchildPosition, boolean isLastChild, View convertView, ViewGroup parent) 取得显示给定分组给定位置的数据用的视图. 参数 groupPosition 包含要取得视图的分组位置. childPosition 分组中视图(要返回的视图)的位置. isLastChild 该视图是否为组中的最后一个视图. convertView 如果可能,重用旧的视图对象.使用前你应该保证视图对象为非空,并且是否是合适的类型.如果该对象不能转换为可以正确显示数据的视图,该方法就创建新视图.不保证使用先前由 getChildView(int, int,boolean, View, ViewGroup)创建的视图. parent 该视图最终从属的父视图. 返回 指定位置相应的视图. public abstract int getChildrenCount (int groupPosition) 取得指定分组的元素数. 参数 groupPosition 要取得元素个数的分组位置. 返回 指定分组的元素个数. public abstract long getCombinedChildId (long groupId, long childId) 取得一览中可以唯一识别条目的 ID(包括分组ID和条目ID).可扩展列表要求每个条目 (分组条目条目)具有一个可以唯一识别列表中条目和分组条目的ID. 该方法根据给定条目ID和分组条目ID返回唯一识别ID.另外,如果 hasStableIds() 为真,该函数返回的ID必须是固定不变的. 参数 groupId 包含条目ID的分组条目ID. childId 条目的ID. 返回 可以在所有分组条目条目中唯一识别该条目的ID(可能是固定不变

80,349

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧