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。在XML布局中,我们可以这样定义一个ListView: ```xml <ListView ...
本文将介绍一种简单的实现方式,即通过点击ListView条目的删除按钮来删除SQLite数据库中的对应行信息。 首先,我们需要在ListView的每个条目上添加一个删除按钮。这可以通过自定义ListView的Adapter来完成。在...
ListView中的每个条目(Item)都可以设置点击事件。这通常在Adapter的getView()方法中完成,或者通过设置OnItemClickListener。以下是如何设置OnItemClickListener的示例: ```java listView....
为了增强用户体验和交互性,我们常常会在ListView的每一项(Item)中添加按钮。这样,用户可以通过点击按钮来执行特定的操作,如查看详情、删除条目等。本教程将详细介绍如何在ListView中添加按钮并实现监听事件。 ...
因此,当用户点击下载按钮时,如果不做特殊处理,可能会导致其他已经复用的item的按钮状态也被改变,这就是所谓的“button错乱问题”。 为了解决这个问题,我们需要在ListView的Adapter中维护一个下载状态的数据...
当这两种控件结合使用时,有时会出现点击事件的冲突问题,导致按钮的点击事件无法正常触发或者ListView的条目点击事件失效。本篇文章将详细探讨这个问题,并提供解决方案。 首先,我们要理解为何会出现ListView与...
标题"带button的listview"指的是在一个ListView中添加Button元素,使每个列表项具有点击功能,而不仅仅是显示信息。描述中的“界面也给你优化了”暗示了这个实现可能包含了一些UI优化,以提供更好的用户体验。 在...
在“Android在listview上拍照”这个主题中,我们将深入探讨如何实现在ListView的每个item中集成摄像头功能,让用户可以拍照并实时预览拍摄的照片。这个功能在很多应用中都有实际应用,比如社交应用、购物应用等,它...
在描述中提到的“其他的ListView就更没问题了”,意味着掌握了含按钮的ListView事件响应后,开发者对于更复杂的ListView定制,如添加ImageView、实现多种类型的列表项(header、footer、item等)或者使用...
"ListView的Item点击下拉弹出linelayout布局"这个主题就是关于如何在ListView的每个条目上实现点击后展开一个LinearLayout布局的高级用法。 首先,我们要理解ListView的工作原理。ListView通过复用视图(ViewHolder...
在Android开发中,ListView是常用的数据展示控件,它可以显示大量的数据列表,用户可以通过滚动查看更多的条目。然而,为了提供更好的用户体验,开发者有时需要在ListView的Item上添加额外的功能,比如滑动删除。本...
在Android开发中,ListView是一个非常常用的组件,用于展示大量数据的列表形式。它不仅提供了基本的列表滚动功能,还能通过自定义适配器展现各种复杂布局。本篇将重点讲解如何利用CheckBox在ListView中实现批量选择...
在Android开发中,ListView是常用的一种控件,用于展示大量数据列表。批量删除功能是许多应用中的常见需求,特别是涉及到数据管理的时候。本篇将详细讲解如何利用ListView和CheckBox实现批量删除的操作。 首先,...
在这个例子中,`list_item.xml`是ListView中每个条目的布局,通常包含一个TextView或者其他视图来显示数据。 然后,我们需要在Activity或Fragment中创建Dialog实例,并设置自定义布局。首先,获取上面创建的布局: ...
在实际应用中,我们经常需要实现一个功能,让用户能够选择ListView中的多个条目进行批量删除,这正是"Android ListView+checkbox 实现批量删除"这个主题所涵盖的知识点。下面我们将详细探讨如何在Android中实现这一...
本教程将详细讲解如何在Android中实现自定义ListView,包括基本的ListView、带图片的ListView以及带有按钮的ListView。 1. **基本的ListView** - 首先,你需要在布局文件中添加ListView元素,并为其设置ID。例如:...
在这个场景中,我们将`PopupWindow`与`ListView`结合,用于在点击按钮时弹出一个包含表格数据的窗口,并在用户点击屏幕其他区域或滑动时自动消失。下面我们将详细讲解如何实现这个功能。 首先,理解`PopupWindow`的...
总之,实现“在ListView上滑动显示Delete按钮”的功能需要对Android的UI组件、手势识别、自定义Adapter和数据绑定有深入的理解。这个功能不仅提高了用户的交互体验,也简化了数据管理的操作流程。在实际开发中,这种...
这个“Android item可弹出隐藏按钮的listView”项目是一个典型的Android应用源码示例,它展示了如何在ListView的每个条目中实现可弹出的隐藏按钮,这对于增强用户交互性和提升应用程序的用户体验具有重要意义。...
在Android开发中,ListView、Button和ImageView是我们经常使用的控件,它们在用户界面设计中扮演着重要角色。为了提供更好的用户体验,我们常常需要为这些控件添加交互效果,比如当用户触摸时改变图像,而当触摸离开...