`
火神曲
  • 浏览: 31753 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

【8.3】关于simpleAdapter没法显示bitmap的问题

 
阅读更多

这个问题很棘手,打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;

}

 

}

 

用位与符号&而不用&&的原因未知,知道的同学不吝赐教

 


分享到:
评论
1 楼 yong7356 2013-10-21  
学习了。。。。。。。。

相关推荐

    SimpleAdapter的简单列子

    在研究`SimpleAdapter`的源码时,理解这些方法的工作方式可以帮助你更好地定制适配器,解决在实际开发中遇到的问题。 ### 结论 `SimpleAdapter`是一个非常适合快速构建ListView的工具,尤其适合初学者。通过理解其...

    androidUI练习

    9. **Dialogs和Notifications**:Dialogs用于显示临时信息或获取用户输入,而Notifications则允许在状态栏中显示消息,即使用户离开应用也能保持通信。 10. **Fragment**:Fragment是UI模块化的组成部分,可以在一...

    listview实例 simpleAdapter自定义列

    这个实例是关于如何使用SimpleAdapter来自定义ListView的列显示。SimpleAdapter是Android提供的一种便捷方式,它可以帮助我们快速将数据绑定到ListView上,而无需编写复杂的Adapter类。 在Android中,ListView通常...

    Android SimpleAdapter的多种显示GridView/ListView

    在Android开发中,SimpleAdapter是一种常用的适配器,它用于将数据绑定到视图上,如GridView或ListView。这些组件是Android中展示列表数据的主要方式,适用于创建各种类型的列表应用。下面将详细介绍如何使用...

    SimpleAdapter实现的GalleryDemo

    `SimpleAdapter`是Android中一个常用的适配器,它主要用于将数据集合(如ArrayList)与View进行绑定,简化了在ListView、GridView、Gallery等组件中显示数据的过程。`SimpleAdapter`通过使用预先定义好的布局文件和...

    Android SimpleAdapter

    `SimpleAdapter`适用于显示结构化数据,如数据列表,这些数据通常由键值对组成,例如HashMap或者ArrayList, Object >>。它将这些数据映射到预先定义好的布局文件,从而在ListView或GridView上显示。 2. **创建...

    android SimpleAdapter 中添加按钮响应事件

    在标题提及的问题中,我们将探讨如何在使用`SimpleAdapter` 的同时添加按钮,并实现按钮的响应事件。 首先,`SimpleAdapter` 是基于`BaseAdapter` 的一个简化版,它通过`Map` 对象和布局资源文件来填充列表项。通常...

    SimpleAdapter

    标题提到的"SimpleAdapter"是Android SDK提供的一种简易适配器,主要用于将数据集合绑定到ListView、GridView等控件上,方便开发者快速实现数据展示。下面我们将详细讨论SimpleAdapter的使用方法以及其在实际开发中...

    SimpleAdapterImg:使用SimpleAdapter显示图片

    在Android开发中,显示数据通常会用到各种适配器,其中`SimpleAdapter`是一个简单易用的适配器,适用于将数据集映射到ListView或其他视图组件。本篇文章将详细讲解如何使用`SimpleAdapter`来显示图片,以及相关的...

    安卓Android源码——(列表SimpleAdapter适配).rar

    `SimpleAdapter` 提供了一种简单的方法来显示数据,通过定义布局文件和数据映射关系,开发者可以快速地构建数据列表。本资源"安卓Android源码——(列表SimpleAdapter适配).rar"应该包含了一个示例项目,展示了如何...

    SimpleAdapter,带数据绑定的SimpleAdapter.zip

    本项目"SimpleAdapter,带数据绑定的SimpleAdapter.zip"是一个开源项目,旨在简化传统SimpleAdapter的使用,通过两行代码就能实现数据绑定,提高开发效率。我们将详细探讨SimpleAdapter的基本概念、工作原理以及这个...

    simpleAdapter的简单应用

    最后,将`SimpleAdapter`赋值给ListView的Adapter属性,使ListView能够显示数据。 ```java ListView listView = findViewById(R.id.listView); listView.setAdapter(adapter); ``` 5. **处理图片**: 在实际...

    SimpleAdapter适配器

    SimpleAdapter是Android开发中常用的适配器之一,主要用于将数据集与ListView、GridView等视图组件进行绑定。它简化了数据展示的过程,尤其适合新手学习和使用。在本篇文章中,我们将深入探讨SimpleAdapter的使用...

    SimpleAdapter基础小程序

    ListView通过Adapter获取数据源,Adapter负责将数据转化为可以显示在ListView中的View。SimpleAdapter是Android提供的一个简易Adapter,适用于简单的数据绑定场景,它可以将数据映射到预先定义好的布局文件中。 在...

    SimpleAdapter实现ListView表格效果

    SimpleAdapter是Android SDK提供的一种方便快捷的数据绑定适配器,它可以帮助开发者将数据集合转换为ListView的可显示视图。本示例中,我们通过使用SimpleAdapter实现了ListView的表格效果,为用户提供了一种高效且...

    SimpleAdapterdemo

    `SimpleAdapter`虽然简单易用,但它有一些限制,比如无法处理复杂的视图或者数据绑定。当需要更高级的功能时,如点击事件、自定义视图样式等,可能需要编写自定义的适配器,扩展`BaseAdapter`类。 此外,为了提高...

    ListView和SimpleAdapter的简单应用

    SimpleAdapter则是ListView常用的适配器,它简化了数据绑定和UI展示的过程。本篇文章将深入探讨ListView和SimpleAdapter的基本使用以及它们在实际应用中的结合。 ### 1. ListView简介 ListView是Android SDK提供的...

    Android之simpleAdapter的ListView

    本教程将聚焦于`SimpleAdapter`,它是Android提供的一种简单易用的适配器,特别适合新手入门学习。 `SimpleAdapter`是Android SDK内置的适配器之一,主要用于将数据集(通常是`List, ?>>`)转换为ListView的列表项...

    SimpleAdapter BaseAdapter 基本使用

    在Android开发中,数据绑定和显示是至关重要的环节,而SimpleAdapter和BaseAdapter则是实现这一功能的两个关键组件。它们都是适配器类,用于将数据源与UI组件(如ListView)连接起来,使得数据能够以列表的形式展示...

    使用ArrayAdapter和SimpleAdapter

    ArrayAdapter和SimpleAdapter是适配器的两种。ListView控件是最常用的控件之一,ListView的经常使用ArrayAdapter和SimpleAdapter来加载数据源。ArrayAdapter(数组适配器)用作展现简单的纯文字列表;SimpleAdapter...

Global site tag (gtag.js) - Google Analytics