ExpandableListView OnChildClickListener 失效解决
来源:互联网 发布:c语言 stdio 编辑:程序博客网 时间:2024/05/28 11:29
尝试了多次,可能是自己的代码问题。布置为啥当在ExpandableListView 的子item中加入button后,子item便不能被响应点击事件
//isChildSelectable 已设置为true
public boolean isChildSelectable(int groupPosition, int childPosition) { return true; }
lvCity.setOnChildClickListener(new ExpandableListView.OnChildClickListener() { @Override public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) { Log.e("test", "---child item 被点击了---->" ); return false; } });
发现子item是不能响应点击事件的
没找出原因,求帮助
最后用其他方法实现:
直接在 <span style="font-family: 宋体; font-size: 10.5pt; background-color: rgb(228, 228, 255);">getChildView 方法中对convertview进行监听操作,便可以了</span>
<pre name="code" class="java"> @Override public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) { ViewHolder_child vh_child; ChildInfo childInfo; if (convertView==null){ childInfo =new ChildInfo(); convertView =inflater.inflate(R.layout.citylist_childitem,null); vh_child=new ViewHolder_child(); vh_child.tv_child= (TextView) convertView.findViewById(R.id.tv_cityname); vh_child.childButton= (Button) convertView.findViewById(R.id.childButton); vh_child.childButton.setTag(childInfo);//绑定子item的位置信息 convertView.setTag(vh_child); }else{ vh_child= (ViewHolder_child) convertView.getTag(); childInfo = (ChildInfo) vh_child.childButton.getTag(); } vh_child.tv_child.setText(map.get(arrayList_group.get(groupPosition)).get(childPosition)); convertView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { ChildInfo childInfo= (ChildInfo) v.findViewById(R.id.childButton).getTag(); Log.e("test", "---child item 被点击了---->"+map.get(arrayList_group.get(childInfo.groupPosition)).get(childInfo.childPosition) ); } }); childInfo.childPosition=childPosition; childInfo.groupPosition=groupPosition;// button设置点击事件 vh_child.childButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { ChildInfo childInfo= (ChildInfo) v.getTag(); Toast.makeText(context,map.get(arrayList_group.get(childInfo.groupPosition)).get(childInfo.childPosition),Toast.LENGTH_SHORT).show(); } }); return convertView; } class ViewHolder_group{ TextView tv_group; } class ViewHolder_child{ TextView tv_child; Button childButton; } //存储子item的位置信息 class ChildInfo{ int groupPosition; int childPosition; }
0 0
- ExpandableListView OnChildClickListener 失效解决
- 解决ExpandableListView中子元素无法点击,OnChildClickListener无效
- ExpandableListView OnChildClickListener not work
- ExpandListView onChildClickListener 失效
- 解决ExpandableListView 点击效果失效问题
- ExpandableListView的无法得到OnChildClickListener点击事件的解决办法
- android ExpandableListView setOnGroupClickListener失效问题
- 解决 ExpandableListView .onChildItemLongClick()
- android ExpandableListView setOnChildClickListener事件失效问题
- ExpandableListView + checkbox 滚动勾选失效
- 解决componentName失效问题
- PtInRect 失效的解决
- ubuntu输入法失效解决
- oracle索引失效解决
- Xcode插件失效解决
- ios scrollsToTop失效解决
- 解决on失效
- 解决CheckBox padding失效
- C字符串和C++字符串
- Spring Security(16)——基于表达式的权限控制
- SVN如何处理包含@2x or @3x的图片文件
- 【技术文档】Jeecg-P3开发环境搭建入门(java插件开发框架)
- iOS 之 责任链模式详解
- ExpandableListView OnChildClickListener 失效解决
- 搜索引擎选择: Elasticsearch与Solr
- 【Web优化】Yslow优化法则(一)最小化HTTP请求数
- ThreadPoolExecutor线程池理解
- linux sort详解
- log4j 如何配置不同的classeslog写入不同的文件中
- Java+PHP整合
- iOS runtime学习之消息转发机制
- VC6中如何让改变控件Botton的字体(大小和字体)