点击ListView的setOnItemClickListener失效

1. 概述

在开发过程中,显示 listview 列表数据中时,如果 listview的item的控件含有 textview、CheckBox、Button、ImageButton等本身带有click等事件的View,这个时候,点击 ListView时,setOnItemClickListener可能会失效:

2. 原因与解决方案

1>:原因如下:

此时 在item 区域中,event(事件)的焦点被内部 View抢占了,也就是说只有 内部的View的click事件有效,而item的事件无法被触发,所以导致 点击listview的 item 时,不能响应点击事件;

2>:解决方法如下:

在 item的根布局中添加如下属性即可:
android:descendantFocusability="blocksDescendants",表示 ViewGroup会覆盖子类控件而直接获取焦点;

代码如下:




    
        
        
        
            
            
                
            
            
                
                
                
                    

                    

                    
                
            
        
        

    


    


你可能感兴趣的:(点击ListView的setOnItemClickListener失效)