(android控件)ListView的Item中设置按钮实现


前言

    在项目的开发过程中,需要Listview的Item中包含按钮的效果。在实际开发过,Item中放置按钮后,ListView 单行选择背景颜色变化的效果没有了。

 

问题原因

    ListView 和 其它能触发点击事件的widget无法一起正常工作的原因是加入其它widget后,ListView的itemclick事件将无法触发,被其它widget的click事件屏蔽。

 

目前网络上普遍的解决方式

设置1  在Item的xml模板中设置 根布局 属性

 android:descendantFocusability= "blocksDescendants"

 

如下:

< RelativeLayout>

android:descendantFocusability= "blocksDescendants"

 

设置2 在按钮控件<ImageButton>中设置属性

 

android:focusable = "false"

补充:这种设置后,点击按钮,整条Item都响应点击效果,显示的效果非我们需要的

 

我们的需要的效果

1 ListView的Item本身可以选择

2 Item中的按钮可以随意点击,不会干扰Item

 

实现的过程

 在ListView中用图片控件,或者文本控件,来代替图片按钮和普通按钮,并在Adapter中设置点击事件就可以

 如例:

 

//根据数据项,设置点击文本框的文字,并设置点击事件
        TextView txt_Remember=(TextView)convertView.findViewById(R.id.txt_Remember);
        
        txt_Remember.setOnClickListener(new  TextView.OnClickListener()
        {
            public void onClick(View v){
                LibListViewAdapter.this.remove(LibListViewAdapter.this.getItem(1));
                
            }
        });

 

 

 

 


 

 

 

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM