`
djun100
  • 浏览: 165243 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

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));
                
            }
        });
复制代码

效果:

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics