这个问题很棘手,打log明明都找了视频缩略图bitmap的路径,但就是显示出来
其实是simpleAdapter自己的问题,它有自己的view绑定规则
可以先看看这个:http://www.cnblogs.com/over140/archive/2010/12/15/1906303.html
在看看这个:http://hi.baidu.com/blue_hmq/blog/item/03baf6ca02cf1614bf09e663.html
其中说道:
SimpleAdapter类:一个使静态数据和在XML中定义的Views对应起来的简单adapter。你可以把list上的数据指定为一个Map范型的ArrayList。ArrayList里的每一个条目对应于list里的一行。Maps包含着每一行的数据。你先要指定一个XML,这个XML定义了用于显示一行的view。你还要指定一个对应关系,这个对应关系是从Map的keys对应到指定的views。绑定数据到views发生在两个阶段:
如果一个simpleAdapter.ViewBinder是可用的,那么SetViewValue(android.view.View,Object,String)要被调用。如果返回true,那么绑定发生了。如果返回false,那么如下views将被按顺序地尝试:
~实现了Checkable的View(如CheckBox),预期的绑定值是boolen
~TextView,预期的绑定值是String,并且SetViewText方法被调用
~ImageView,预期的绑定值是一个资源的id或String。并且SetViewImage方法被调用
如果没有合适的绑定被发现,一个IllegalStateException被抛出。
simpleAdapter果然够静态……泪流满面中
解决方法,自己重写imangView的绑定规则:
看看这个:http://www.anddev.org/listview_simpleadapter_and_bitmaps_-_bug_-t11817.html
adapter.setViewBinder(new MyViewBinder());
public class MyViewBinder implements ViewBinder {
@Override
public boolean setViewValue(View view, Object data, String textRepresentation) {
if( (view instanceof ImageView) & (data instanceof Bitmap) ) {
ImageView iv = (ImageView) view;
Bitmap bm = (Bitmap) data;
iv.setImageBitmap(bm);
return true;
}
return false;
}
}
发表评论
-
ndk开发环境的搭建
2011-09-04 18:33 8941、下载Cygwin,只安装Devel 安 ... -
【7.6】关于SurfaceView播放视频只有声音没有图像的问题
2011-07-06 16:44 4031关于这个问题,网上也有很多人问了这个问题,但只有自己碰到了才知 ... -
【7.5】MediaPlayer的生命周期
2011-07-05 10:32 1169详细见 http://hi.baidu.com/jugege/ ... -
【7.1】seekBar的使用心得
2011-07-01 14:34 1564seekBar即可拖动的进度条,可以作为播放器的进度条来使用, ... -
【6.29】android一些常用的调试方法
2011-06-29 15:42 12631、打log,按调试,查日志,最常用的方法 ... -
【6.29】Eclipse的一些快捷操作
2011-06-29 09:53 891Ctrl + F 搜索本页面 Ctrl + H ... -
【6.28】GestureDetector手势监听
2011-06-28 17:56 1461接口有两个,如下: public interfa ... -
【6.22】Handler、Looper、Thread之间的关系
2011-06-22 17:33 1496Looper负责管理消息队列,Handler负责发送处理消息 ... -
【6.21】startActivityForResult传递Intent数据
2011-06-21 15:47 1298接上,设置完之后要传回数据且立刻生效,则可以用startAct ... -
【6.21】PreferenceActivity来设置setting菜单
2011-06-21 11:02 1199Shared Preferences可以存储一些程序的参数设置 ... -
【6.14】自定义控件
2011-06-14 15:43 7431、在res/values文件下定义一个attrs.xml文件 ... -
【6.13】利用LayoutInflater实现Layout的切换
2011-06-13 17:52 943主要是利用LayoutInflater的inflate方 ... -
【6.13】Application的一点理解
2011-06-13 10:59 682从Manifest.xml中可以看出,Activity、Ser ... -
【6.9】Broadcast的一点理解
2011-06-09 20:28 705Broadcast发出广播 首先定义Intent,然后 ... -
【6.9】Activity和Task
2011-06-09 19:59 863Task,是一系列用栈的形式表示的Activity的组合。 ... -
【6.8】Service的一点理解
2011-06-08 15:58 669与Activity不同,Service 自启动,运行在后台,不 ... -
【6.8】模拟home键的效果
2011-06-08 14:43 739事实上就是发出一个Intent到Intent.ACTION_M ... -
错误集合贴
2011-06-08 11:44 10501、一直提示Android Debug ‘source not ... -
【6.7】Activity的生命周期
2011-06-07 16:33 10141、为何需要生命周期 手机需要随时切换到接听手机、闹钟 ... -
【6.3】R.java的一点理解
2011-06-03 20:10 707R.java类似于一个资源索引,每个ID本质上只是一个int, ...
相关推荐
在研究`SimpleAdapter`的源码时,理解这些方法的工作方式可以帮助你更好地定制适配器,解决在实际开发中遇到的问题。 ### 结论 `SimpleAdapter`是一个非常适合快速构建ListView的工具,尤其适合初学者。通过理解其...
9. **Dialogs和Notifications**:Dialogs用于显示临时信息或获取用户输入,而Notifications则允许在状态栏中显示消息,即使用户离开应用也能保持通信。 10. **Fragment**:Fragment是UI模块化的组成部分,可以在一...
这个实例是关于如何使用SimpleAdapter来自定义ListView的列显示。SimpleAdapter是Android提供的一种便捷方式,它可以帮助我们快速将数据绑定到ListView上,而无需编写复杂的Adapter类。 在Android中,ListView通常...
在Android开发中,SimpleAdapter是一种常用的适配器,它用于将数据绑定到视图上,如GridView或ListView。这些组件是Android中展示列表数据的主要方式,适用于创建各种类型的列表应用。下面将详细介绍如何使用...
`SimpleAdapter`是Android中一个常用的适配器,它主要用于将数据集合(如ArrayList)与View进行绑定,简化了在ListView、GridView、Gallery等组件中显示数据的过程。`SimpleAdapter`通过使用预先定义好的布局文件和...
`SimpleAdapter`适用于显示结构化数据,如数据列表,这些数据通常由键值对组成,例如HashMap或者ArrayList, Object >>。它将这些数据映射到预先定义好的布局文件,从而在ListView或GridView上显示。 2. **创建...
在标题提及的问题中,我们将探讨如何在使用`SimpleAdapter` 的同时添加按钮,并实现按钮的响应事件。 首先,`SimpleAdapter` 是基于`BaseAdapter` 的一个简化版,它通过`Map` 对象和布局资源文件来填充列表项。通常...
标题提到的"SimpleAdapter"是Android SDK提供的一种简易适配器,主要用于将数据集合绑定到ListView、GridView等控件上,方便开发者快速实现数据展示。下面我们将详细讨论SimpleAdapter的使用方法以及其在实际开发中...
在Android开发中,显示数据通常会用到各种适配器,其中`SimpleAdapter`是一个简单易用的适配器,适用于将数据集映射到ListView或其他视图组件。本篇文章将详细讲解如何使用`SimpleAdapter`来显示图片,以及相关的...
`SimpleAdapter` 提供了一种简单的方法来显示数据,通过定义布局文件和数据映射关系,开发者可以快速地构建数据列表。本资源"安卓Android源码——(列表SimpleAdapter适配).rar"应该包含了一个示例项目,展示了如何...
本项目"SimpleAdapter,带数据绑定的SimpleAdapter.zip"是一个开源项目,旨在简化传统SimpleAdapter的使用,通过两行代码就能实现数据绑定,提高开发效率。我们将详细探讨SimpleAdapter的基本概念、工作原理以及这个...
最后,将`SimpleAdapter`赋值给ListView的Adapter属性,使ListView能够显示数据。 ```java ListView listView = findViewById(R.id.listView); listView.setAdapter(adapter); ``` 5. **处理图片**: 在实际...
SimpleAdapter是Android开发中常用的适配器之一,主要用于将数据集与ListView、GridView等视图组件进行绑定。它简化了数据展示的过程,尤其适合新手学习和使用。在本篇文章中,我们将深入探讨SimpleAdapter的使用...
ListView通过Adapter获取数据源,Adapter负责将数据转化为可以显示在ListView中的View。SimpleAdapter是Android提供的一个简易Adapter,适用于简单的数据绑定场景,它可以将数据映射到预先定义好的布局文件中。 在...
SimpleAdapter是Android SDK提供的一种方便快捷的数据绑定适配器,它可以帮助开发者将数据集合转换为ListView的可显示视图。本示例中,我们通过使用SimpleAdapter实现了ListView的表格效果,为用户提供了一种高效且...
`SimpleAdapter`虽然简单易用,但它有一些限制,比如无法处理复杂的视图或者数据绑定。当需要更高级的功能时,如点击事件、自定义视图样式等,可能需要编写自定义的适配器,扩展`BaseAdapter`类。 此外,为了提高...
SimpleAdapter则是ListView常用的适配器,它简化了数据绑定和UI展示的过程。本篇文章将深入探讨ListView和SimpleAdapter的基本使用以及它们在实际应用中的结合。 ### 1. ListView简介 ListView是Android SDK提供的...
本教程将聚焦于`SimpleAdapter`,它是Android提供的一种简单易用的适配器,特别适合新手入门学习。 `SimpleAdapter`是Android SDK内置的适配器之一,主要用于将数据集(通常是`List, ?>>`)转换为ListView的列表项...
在Android开发中,数据绑定和显示是至关重要的环节,而SimpleAdapter和BaseAdapter则是实现这一功能的两个关键组件。它们都是适配器类,用于将数据源与UI组件(如ListView)连接起来,使得数据能够以列表的形式展示...
ArrayAdapter和SimpleAdapter是适配器的两种。ListView控件是最常用的控件之一,ListView的经常使用ArrayAdapter和SimpleAdapter来加载数据源。ArrayAdapter(数组适配器)用作展现简单的纯文字列表;SimpleAdapter...