`
que2010
  • 浏览: 73620 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Android ListView item中有按钮(Button)不能点击或者条目不能点击的问题

阅读更多

Android ListView item中有按钮(Button)不能点击或者条目不能点击的问题

增加了按钮之后,列表条目不能点击的原因是:需要把Button的相关属性设置成这样:

android:focusable="false"

 

 

不过在开发过程中,我有个动态获取图片并刷新列表的机制,发现每次调用完notifyDataSetChanged()方法之后Button都不能点击了,后来发现如果有图片动态加载那么每次都要重新inflate整个列表的条目,所以我干脆重载了notifyDataSetChanged()方法。

/**
     * Recycle bitmap resources
     */
    public void recycleBitmapRes() {
        if (mConvertViews != null && !mConvertViews.isEmpty()) {
            Collection<View> views = mConvertViews.values();
            mConvertViews.clear();
            for (View view : views) {
                ImageView icon = (ImageView) view.findViewById(R.id.imgIcon);
                if (icon != null) {
                    if (icon.getDrawable() != null && icon.getDrawable() instanceof BitmapDrawable) {
                        Bitmap bitmap = ((BitmapDrawable) icon.getDrawable()).getBitmap();
                        if (bitmap != null && !bitmap.isRecycled()) {
                            bitmap.recycle();
                        }
                    }
                }
            }
        }
    }    @Override
    public void notifyDataSetChanged(){
        //Avoiding that buttons cannot be pressed
        Utils.LogI("GameListAdapter", "notifyDataSetChanged");
        recycleBitmapRes();
        super.notifyDataSetChanged();
    }

 

分享到:
评论

相关推荐

    ListView的基本使用带Button

    本教程将详细讲解如何在ListView中结合Button进行基本使用,以及如何实现ListView中的Button点击事件。 首先,我们需要在布局文件中创建ListView。在XML布局中,我们可以这样定义一个ListView: ```xml &lt;ListView ...

    Android通过点击对应listview条目的删除按钮实现删除sqlite数据库对应行信息的简单方法

    本文将介绍一种简单的实现方式,即通过点击ListView条目的删除按钮来删除SQLite数据库中的对应行信息。 首先,我们需要在ListView的每个条目上添加一个删除按钮。这可以通过自定义ListView的Adapter来完成。在...

    Android Activity跳转和listview的使用

    ListView中的每个条目(Item)都可以设置点击事件。这通常在Adapter的getView()方法中完成,或者通过设置OnItemClickListener。以下是如何设置OnItemClickListener的示例: ```java listView....

    带按钮listview,添加监听

    为了增强用户体验和交互性,我们常常会在ListView的每一项(Item)中添加按钮。这样,用户可以通过点击按钮来执行特定的操作,如查看详情、删除条目等。本教程将详细介绍如何在ListView中添加按钮并实现监听事件。 ...

    listview多线程下载,解决button错乱问题

    因此,当用户点击下载按钮时,如果不做特殊处理,可能会导致其他已经复用的item的按钮状态也被改变,这就是所谓的“button错乱问题”。 为了解决这个问题,我们需要在ListView的Adapter中维护一个下载状态的数据...

    ListView和Button点击事件冲突处理

    当这两种控件结合使用时,有时会出现点击事件的冲突问题,导致按钮的点击事件无法正常触发或者ListView的条目点击事件失效。本篇文章将详细探讨这个问题,并提供解决方案。 首先,我们要理解为何会出现ListView与...

    带button的listview

    标题"带button的listview"指的是在一个ListView中添加Button元素,使每个列表项具有点击功能,而不仅仅是显示信息。描述中的“界面也给你优化了”暗示了这个实现可能包含了一些UI优化,以提供更好的用户体验。 在...

    Android在listview上拍照

    在“Android在listview上拍照”这个主题中,我们将深入探讨如何实现在ListView的每个item中集成摄像头功能,让用户可以拍照并实时预览拍摄的照片。这个功能在很多应用中都有实际应用,比如社交应用、购物应用等,它...

    含按钮的ListView

    在描述中提到的“其他的ListView就更没问题了”,意味着掌握了含按钮的ListView事件响应后,开发者对于更复杂的ListView定制,如添加ImageView、实现多种类型的列表项(header、footer、item等)或者使用...

    ListView的Item点击下拉弹出linelayout布局

    "ListView的Item点击下拉弹出linelayout布局"这个主题就是关于如何在ListView的每个条目上实现点击后展开一个LinearLayout布局的高级用法。 首先,我们要理解ListView的工作原理。ListView通过复用视图(ViewHolder...

    Android实现ListView的Item滑动删除

    在Android开发中,ListView是常用的数据展示控件,它可以显示大量的数据列表,用户可以通过滚动查看更多的条目。然而,为了提供更好的用户体验,开发者有时需要在ListView的Item上添加额外的功能,比如滑动删除。本...

    Android ListView支持批量选择

    在Android开发中,ListView是一个非常常用的组件,用于展示大量数据的列表形式。它不仅提供了基本的列表滚动功能,还能通过自定义适配器展现各种复杂布局。本篇将重点讲解如何利用CheckBox在ListView中实现批量选择...

    Android ListView批量删除

    在Android开发中,ListView是常用的一种控件,用于展示大量数据列表。批量删除功能是许多应用中的常见需求,特别是涉及到数据管理的时候。本篇将详细讲解如何利用ListView和CheckBox实现批量删除的操作。 首先,...

    Android自定漂亮Dialog中嵌入ListView

    在这个例子中,`list_item.xml`是ListView中每个条目的布局,通常包含一个TextView或者其他视图来显示数据。 然后,我们需要在Activity或Fragment中创建Dialog实例,并设置自定义布局。首先,获取上面创建的布局: ...

    Android ListView+checkbox 实现批量删除

    在实际应用中,我们经常需要实现一个功能,让用户能够选择ListView中的多个条目进行批量删除,这正是"Android ListView+checkbox 实现批量删除"这个主题所涵盖的知识点。下面我们将详细探讨如何在Android中实现这一...

    android自定义listview使用方法

    本教程将详细讲解如何在Android中实现自定义ListView,包括基本的ListView、带图片的ListView以及带有按钮的ListView。 1. **基本的ListView** - 首先,你需要在布局文件中添加ListView元素,并为其设置ID。例如:...

    Android使用popwindow弹窗显示listview表格

    在这个场景中,我们将`PopupWindow`与`ListView`结合,用于在点击按钮时弹出一个包含表格数据的窗口,并在用户点击屏幕其他区域或滑动时自动消失。下面我们将详细讲解如何实现这个功能。 首先,理解`PopupWindow`的...

    在ListView上滑动显示Delete按钮

    总之,实现“在ListView上滑动显示Delete按钮”的功能需要对Android的UI组件、手势识别、自定义Adapter和数据绑定有深入的理解。这个功能不仅提高了用户的交互体验,也简化了数据管理的操作流程。在实际开发中,这种...

    Android item可弹出隐藏按钮的listView-IT计算机-毕业设计.zip

    这个“Android item可弹出隐藏按钮的listView”项目是一个典型的Android应用源码示例,它展示了如何在ListView的每个条目中实现可弹出的隐藏按钮,这对于增强用户交互性和提升应用程序的用户体验具有重要意义。...

    ListView Button ImageView 里应用selector选择器切换图片并保持住

    在Android开发中,ListView、Button和ImageView是我们经常使用的控件,它们在用户界面设计中扮演着重要角色。为了提供更好的用户体验,我们常常需要为这些控件添加交互效果,比如当用户触摸时改变图像,而当触摸离开...

Global site tag (gtag.js) - Google Analytics