`
yanghaoli
  • 浏览: 288515 次
社区版块
存档分类
最新评论

点击ListView的item时,避免导致item中的按钮的背景被改动的解决方案

 
阅读更多

给listview里面的button设置selector后,当给listview设置listview.setOnitemClickedListener()的时候,里面的button会有press的效果。

现有一种解决方法,使用自定义的Button,判断他的父控件是否pressed,如果是就把这个事件消耗掉,不向下传递即可

代码如下:

 1 import android.content.Context;
 2 import android.util.AttributeSet;
 3 import android.view.View;
 4 import android.widget.Button;
 5 
 6 public class FixedListButton extends Button {
 7 
 8     public FixedListButton(Context context, AttributeSet attrs, int defStyle) {
 9         super(context, attrs, defStyle);
10         // TODO Auto-generated constructor stub
11     }
12 
13     public FixedListButton(Context context, AttributeSet attrs) {
14         super(context, attrs);
15         // TODO Auto-generated constructor stub
16     }
17 
18     public FixedListButton(Context context) {
19         super(context);
20         // TODO Auto-generated constructor stub
21     }
22 
23     @Override
24     public void setPressed(boolean pressed) {
25         // TODO Auto-generated method stub
26         if (pressed && getParent() instanceof View
27                 && ((View) getParent()).isPressed()) {
28             return;
29         }
30         super.setPressed(pressed);
31     }
32     
33 }

 

 

2
4
分享到:
评论

相关推荐

    Android 为ListView每个Item上面的按钮添加事件

    在这个场景中,我们需要为ListView的每个Item中的按钮添加点击事件,并且在按钮被点击时能够获取到对应Item中的TextView的文本信息。以下是对这个需求的详细解释和实现步骤。 首先,理解ListView的工作原理。...

    android listview item背景色点击效果实例

    这样,当用户点击ListView的item时,系统会自动根据item的状态改变其背景颜色,提供良好的交互体验。 在提供的"ListTest"压缩包中,可能包含了实现这一功能的代码示例,包括自定义Adapter的Java文件、item布局的XML...

    listview中改变item背景颜色

    在本篇文章中,我们将深入探讨如何在ListView中改变Item的背景颜色。 首先,我们需要理解Android中的视图(View)和适配器(Adapter)的概念。ListView是由一系列视图组成的,这些视图由适配器提供。适配器负责填充...

    点击listview的item在所点击的item的上边弹出popwindow

    在这个场景中,我们需要实现的功能是:当用户点击ListView中的某个条目时,一个PopWindow会从所点击的条目上方弹出,提供类似QQ消息长按后的删除选项。以下将详细讲解如何实现这一功能。 首先,我们需要创建一个...

    ListView像左滑动Item显示删除按钮

    本篇文章将详细讲解如何实现ListView中Item的左滑动显示删除按钮。 首先,我们需要一个自定义的ListView,这通常通过继承ListView类并重写其onTouchEvent()方法来实现。在这个方法中,我们可以监听用户的滑动操作。...

    ListView的Item带单选按钮

    当需要在ListView的每个Item中添加单选按钮(RadioButton)以实现选择功能时,就需要进行特定的布局设计和事件处理。以下将详细讲解如何在ListView中实现带有单选按钮的Item以及响应各自事件。 1. **创建自定义...

    listView上增加button点击事件

    标题"listView上增加button点击事件"所涉及的核心知识点是如何在ListView的item中嵌入Button,并同时处理这两个元素的独立点击事件,避免事件冲突。 首先,我们需要理解ListView的工作原理。ListView通过Adapter来...

    ListView点击item弹出Dialog

    在这个场景中,我们关注的是如何在用户点击ListView的某一项时,弹出一个Dialog,并且能够通过Dialog中的操作更新所选item的值。这个过程涉及到几个关键知识点,包括ListView的适配器、点击事件监听、Dialog的创建...

    Android编程实现ListView中item部分区域添加点击事件功能

    需求如题目:Android listview中item部分区域添加点击事件,在一个界面显示了listview,但显示的内容分为上下两部分,分别是白色的背景和蓝色的背景,现在需要只点击蓝色的背景,才能跳转到其他界面,解决方式如下:...

    C# Winform ListView添加按钮列

    为了实现“C# Winform ListView添加按钮列”,我们需要对`ListView`进行扩展或使用第三方库,例如在本例中提到的CXListView。 `ListView`控件的基础用法包括创建列、添加项和设置项的属性。默认情况下,它只能显示...

    Listview点击item高亮显示,

    点另一个item,前一个不显示高亮,第二个高亮”正是描述了这样一个需求:当用户点击ListView中的某一项时,该项应该保持高亮状态,直到用户点击其他项,原先高亮的项才会取消高亮,新的被点击项则高亮显示。...

    ListView选中item颜色改变

    当一个item被选中时,我们需要将其背景设为选中颜色,否则设为默认颜色。例如: ```java @Override public View getView(int position, View convertView, ViewGroup parent) { View view = ... // 获取或复用...

    android的ListView点击item使item展开的做法

    在实际应用中,我们经常需要实现点击ListView的某一项(item)时,该item能够展开显示更多的内容,例如子列表或者详细信息。这个功能可以通过自定义ListView的Adapter和设置监听器来实现。下面将详细解释如何实现这...

    listview item子控件删除跳转,点击更改背景色

    在这个场景中,我们主要讨论两个关键点:一是如何实现在ListView的item中的子控件被点击时删除该条目并进行页面跳转;二是如何实现点击item时改变其背景色。 首先,让我们来看如何处理ListView item的子控件点击...

    android为ListView每个Item上面的按钮添加事件

    注意,由于ListView的复用机制,我们需要确保每次`getView()`方法被调用时,按钮的点击事件都会被正确设置。如果Item中的按钮需要执行特定的操作,可以在`showInfo()`方法内处理,或者在`OnClickListener`中直接处理...

    Android Listview 按钮点击状态错乱之解决方法

    这些操作可能导致`getView()`方法执行时间过长,进而影响ListView的滚动性能,可能会间接导致按钮状态混乱。 通过以上策略,我们可以有效地解决ListView中按钮点击状态错乱的问题。在实际项目中,可能需要结合使用...

    listview item点击事件冲突问题

    然而,在实际操作中,开发者经常会遇到ListView项(item)的点击事件冲突问题,这可能会导致用户体验下降或者功能出现异常。这个问题主要体现在两个方面:一是单个item的点击事件无法正常触发,二是点击事件与其它...

    ListView Item点击展开隐藏项

    当`Item`被点击时,可以通过更改对应的数据显示或隐藏状态来实现展开和隐藏的效果。 1. 单条目展开: 这种效果允许每次只有一个`Item`处于展开状态。在`Adapter`中,我们可以维护一个当前展开的`position`变量。当...

    android listView复用导致item上面动画的错乱

    android listView复用导致item上面动画的错乱。网上大部分都是写的item上面显示静态图片的例子,我这个是解决显示动态图片时复用导致的动画显示错乱问题。问题描述:假如一屏可以显示10个item项,如果第一个正在播放...

    关于listview item重用导致图片重复加载 图片重新请求

    然而,在实现ListView时,由于其内部机制,可能会出现一个问题,即ListView中的item(列表项)重用导致图片重复加载,这不仅会消耗不必要的网络资源,还可能影响用户体验。本文将深入探讨这个问题,并提供解决方案。...

Global site tag (gtag.js) - Google Analytics