`
dengyin2000
  • 浏览: 1223708 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

在ListView item中有Button是不能调用onItemClick的解决办法

阅读更多
引用
当前的View将不顾其子控件是否可以Focus自身接管了所有的Focus,通常默认能获得focus的控件有Button,Checkable继承来的所有控件,这就意味着如果你的自定义ListViewItem中有Button或者Checkable的子类控件的话,那么默认focus是交给了子控件,而ListView的Item能被选中的基础是它能获取Focus,也就是说我们可以通过将ListView中Item中包含的所有控件的focusable属性设置为false,这样的话ListView的Item自动获得了Focus的权限,也就可以被选中了,也就会响应onItemClickListener中的onItemClick()方法,然而将ListView的Item Layout的子控件focusable属性设置为false有点繁琐,我们可以通过对Item Layout的根控件设置其android:descendantFocusability=”blocksDescendants”即可,这样Item Layout就屏蔽了所有子控件获取Focus的权限,不需要针对Item Layout中的每一个控件重新设置focusable属性了,如此就可以顺利的响应onItemClickListener中的onItemClick()方法了。


ref: http://www.cnblogs.com/livesoft/archive/2011/02/12/1951762.html
分享到:
评论

相关推荐

    listView上增加button点击事件

    然而,在实际应用中,我们经常需要在ListView的每一项(item)中添加按钮(button),以便用户进行交互操作。标题"listView上增加button点击事件"所涉及的核心知识点是如何在ListView的item中嵌入Button,并同时处理...

    ListView和Button的结合使用

    需要注意的是,当ListView中的条目复用时(即convertView不为null),我们应该确保每次`getView()`方法调用时都正确地设置Button的状态和点击事件,避免出现意外的行为。 在实际项目中,我们可能还需要考虑性能优化...

    Listview中的Button实现点击事件

    3. **传递接口**:将父组件作为参数传递给ListView的Adapter,在Adapter中,当Button被点击时,调用这个接口的方法,从而触发父组件的回调。 代码示例: ```java public interface OnItemClickListener { void ...

    带下拉刷新的ListView的中同时处理CheckBox,Button,和item事件

    在ListView中,我们经常会遇到需要处理多种交互元素,如CheckBox、Button等,这涉及到事件分发和回调机制。以下是对这个主题的详细解释。 ### 1. ListView的基本使用 ListView通过Adapter将数据绑定到视图上。...

    ListView和Button点击事件冲突处理

    在Android开发中,ListView是常用的一种控件,用于展示大量数据列表,而Button则是实现用户交互的基本元素。当这两种控件结合使用时,有时会出现点击事件的冲突问题,导致按钮的点击事件无法正常触发或者ListView的...

    listview的事件处理

    本篇文章将深入探讨ListView的事件处理,特别是如何处理ListView与Button共存时焦点问题,以及在Adapter中实现接口来响应按钮点击,改变ListView中的数据。 首先,我们来解决“listview与button共存抢夺焦点问题”...

    ListView Button

    而当我们在ListView的每一项中加入Button时,可能会遇到一些交互上的挑战,即如何正确处理Button的点击事件,使得用户操作能够得到准确响应。这个问题的核心在于ListView的复用机制,因为ListView为了提高性能,会...

    listview二级菜单

    在实现二级菜单的场景中,我们首先在主界面放置一个Button,当用户点击这个Button时,会调用一个方法来显示一级ListView。这个方法可能包括以下几个步骤: 1. 创建一个Dialog或PopupWindow,作为承载ListView的容器...

    Android 系统自带单选按钮的listView

    3. **在Activity中设置ListView**:在主Activity的onCreate()方法中,实例化ListView,设置数据适配器,并调用setChoiceMode()方法来启用单选模式。 ```java // MainActivity.java @Override protected void ...

    ListView+iCheckBox实现单选

    在Android开发中,ListView是常用的一种控件,用于展示大量数据列表。而iCheckBox则是复选框组件,常用于提供多选或单选功能。在本主题“ListView+iCheckBox实现单选”中,我们将探讨如何将这两个组件结合,以实现...

    Android之用PopupWindow实现弹出listview形式的菜单

    在Android开发中,`PopupWindow`是一个非常实用的组件,它可以用来实现各种形式的弹出窗口,如下拉菜单、提示框等。本教程将详细讲解如何使用`PopupWindow`来创建一个以`ListView`形式展示的菜单。首先,我们需要...

    实现在android的popupwindow中显示listview.docx编程资料

    ### 实现在Android的PopupWindow中显示ListView #### 一、简介 在Android开发过程中,PopupWindow是一种非常实用的UI组件,它可以用来展示临时性的信息或者菜单等。本篇文档主要介绍如何在PopupWindow中集成一个...

    LIstView应用

    在Android开发中,ListView的运用是相当普遍的,尤其在展示数据集时,如联系人列表、消息列表等。本篇将深入探讨ListView的使用方法,包括其基本配置、适配器的原理、数据绑定以及页面跳转的实现。 1. **ListView的...

    Android 中ListView的Item点击事件失效的快速解决方法

    在Android开发中,ListView是一种常用的组件,用于展示大量的列表数据。然而,在实际应用中,开发者可能会遇到ListView的Item点击事件失效的问题,这给用户体验带来负面影响。本文将详细讲解如何快速解决这一问题。 ...

    Android 自定义listView

    添加按钮到ListView的Item中,可以在布局文件中增加Button控件,然后在`getView()`方法中找到这个Button并设置点击事件。这样,每个Item就可以有独立的交互功能了。 除此之外,还可以自定义ListView的分割线...

    消息提示Toast 列表组件ListView 实例示范

    在Android应用开发中,消息提示和列表组件是两个非常重要的元素。它们帮助用户与应用程序进行交互,提供反馈信息,以及展示大量数据。本实例将详细讲解如何使用`Toast`实现消息提示,以及如何运用`ListView`来创建一...

    解决RecyclerView无法onItemClick问题的两种方法

    相比于ListView,RecyclerView在性能和灵活性上有显著优势,但由于RecyclerView没有内置的Item点击事件处理,这给开发者带来了不便。本文将介绍两种解决RecyclerView无法触发onItemClick事件的方法。 **方法一:不...

    ListView学习实例

    在Android开发中,ListView是一个非常重要的组件,常用于展示大量数据列表。本教程将通过一个具体实例深入探讨ListView的使用,包括如何定义ListView、填充数据以及处理点击事件。以下是详细的知识点讲解: 1. **...

    InterfaceCallbackDemo,接口回调

    运行应用程序,当点击ListView的Item上的按钮时,相应的`onItemClick()`方法会在Activity中被调用,显示一个Toast消息或者执行其他操作。 总结,"InterfaceCallbackDemo"通过接口回调展示了在Android中如何优雅地...

    Android 中ListView setOnItemClickListener点击无效原因分析

    在Android开发中,ListView是常用的一种组件,用于展示可滚动的列表数据。然而,在实际应用中,有时可能会遇到设置`setOnItemClickListener`后点击事件无效的情况。本文将深入探讨这个问题的原因,并提供解决方案。 ...

Global site tag (gtag.js) - Google Analytics