Android基础:listview的item点击事件会使里面的Button也出现按压的效果

简介:

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

1:放弃listview的onItemClickedListener()

listview.setOnItemClickedListener(null);

2:使用自定义的Button,判断他的父控件是否press,如果是就把这个事件消耗掉,不向下传递即可,

可用代码如下:

package  com.audiocn.kalaok.widget;
 
import  android.content.Context;
import  android.util.AttributeSet;
import  android.view.View;
import  android.widget.Button;
 
public  class  FixedListButton extends  Button {
 
     public  FixedListButton(Context context) {
         super (context);
     }
 
     public  FixedListButton(Context context, AttributeSet attrs) {
         super (context, attrs);
     }
 
     public  FixedListButton(Context context, AttributeSet attrs, int  defStyle) {
         super (context, attrs, defStyle);
     }
 
     @Override
     public  void  setPressed( boolean  pressed) {
         if  (pressed && getParent() instanceof  View
                 && ((View) getParent()).isPressed()) {
             return ;
         }
         super .setPressed(pressed);
     }
}

 本文转自demoblog博客园博客,原文链接http://www.cnblogs.com/0616--ataozhijia/archive/2012/11/02/2751731.html如需转载请自行联系原作者


demoblog

相关文章
|
8月前
|
API Android开发 开发者
Android UI设计: 什么是RecyclerView?为什么它比ListView更好?
Android UI设计: 什么是RecyclerView?为什么它比ListView更好?
100 2
|
7月前
|
Android开发 UED
Android Item平移动画
【6月更文挑战第18天】
123 8
|
6月前
|
测试技术 Android开发
Android中使用performClick触发点击事件
Android中使用performClick触发点击事件
|
7月前
|
API Android开发 开发者
`RecyclerView`是Android API 21引入的UI组件,用于替代ListView和GridView
【6月更文挑战第26天】`RecyclerView`是Android API 21引入的UI组件,用于替代ListView和GridView。它提供高效的数据视图复用,优化的布局管理,支持多种布局(如线性、网格),并解耦数据、适配器和视图。RecyclerView的灵活性、性能(如局部刷新和动画支持)和扩展性使其成为现代Android开发的首选,特别是在处理大规模数据集时。
77 2
|
7月前
|
前端开发 API Android开发
25. 【Android教程】列表控件 ListView
25. 【Android教程】列表控件 ListView
241 2
|
7月前
|
XML Java Android开发
15. 【Android教程】按钮 Button/ImageButton
15. 【Android教程】按钮 Button/ImageButton
98 2
|
7月前
|
XML Java Android开发
Android RecyclerView用代码动态设置item的selector
Android RecyclerView用代码动态设置item的selector
52 0
|
8月前
|
XML Android开发 数据格式
Android下自定义Button样式
Android下自定义Button样式
54 3
|
8月前
|
XML Java Android开发
如何美化android程序:自定义ListView背景
如何美化android程序:自定义ListView背景
73 2
|
8月前
|
XML 编解码 Java
Android控件之高级控件——ListView、cardView、屏幕适配
Android控件之高级控件——ListView、cardView、屏幕适配