Android开发(十四)——SimpleAdapter与自定义控件

ListView中可以使用SimpleAdapter进行数据与视图的绑定,但都是对已有的系统控件的绑定,如果自定义空间直接使用SimpleAdapter绑定,则会报错。

如,使用CircleImageView圆形头像,直接不能绑定需要重新SimpleAdapter方法。

eg:android ListView 重写 SimpleAdapter 显示图片 异步加载及文字处理

simpleAdapter=new SimpleAdapter(context, mData, R.layout.goods_info,
                    new String[]{"name","small_pic","price"},
                    new int[]{R.id.goods_name,R.id.goodsimg,R.id.goods_price}){
                        @Override
                        public void setViewImage(final ImageView v,final  String value) {
                            // TODO Auto-generated method stub
                            if(v.getId()==R.id.goodsimg)
                            {
                                 new Thread(new Runnable() {
                                     @Override
                                     public void run() {
                                         try{
                                             //通过图片Url返回Bitmap
                                             final Bitmap img= StreamTool.returnBitMap(value);
                                             handler.post(new Runnable() {
                                                 @Override
                                                 public void run() {
                                                     if(img!=null){
                                                     v.setImageBitmap(img);}
                                                 }
                                             });
                                             }
                                             catch(Exception e){
                                                 e.printStackTrace();
                                             }

                                     }
                                 }).start();
                            }
                            else{super.setViewImage(v, value);}
                 }

            };

参考

[1] android ListView 重写 SimpleAdapter 显示图片 异步加载及文字处理.http://www.cnblogs.com/freexiaoyu/archive/2012/03/11/2390655.html

[2] Android之自定义Adapter的ListView.http://www.linuxidc.com/Linux/2011-05/35394.htm

[3] 自定义SimpleAdapter.http://www.cnblogs.com/angeldevil/archive/2012/04/05/2432615.html

时间: 2024-08-04 20:56:55

Android开发(十四)——SimpleAdapter与自定义控件的相关文章

【转】cocos2d-x游戏开发(十四)用shader使图片背景透明

转自:http://blog.csdn.net/dawn_moon/article/details/8631783 好吧,终于抽时间写这篇文章了. 手头上有很多人物行走图,技能特效图等,但这些图都有个纯黑色背景,怎么样将内容显示出来,让背景透明呢?前段时间搞了一下,感谢群里的童鞋们,提供了思路和方法. 这里用shader处理了像素,使黑色背景透明,直接上代码 ShaderSprite.h 1 #ifndef __TestShader__ShaderSprite__ 2 #define __Tes

处女男学Android(十四)---Android 重量级数据存储之SQLite

前言 不知不觉的Android基础系列已经写了十三篇了,这是第十四篇~上一篇blog记录了Android中的一种数据存储方案,即共享参数(Sharedpreferences)的使用(处女男学Android(十三)---Android 轻量级数据存储之SharedPreferences).最近初学如何在Android中应用SQLite,写了一个基于ListView的增删查的小例子,本篇blog就记录一下我学习到的如何在Android中操作SQLite持久化客户端数据. 初始化SQLite 关于SQ

android开发系列之使用xml自定义控件

在android开发的过程中,有的时候面对多个Activity里面一些相同的布局,我们需要写多次相同的代码,同时这种方法给我们的项目维护也带来了很大不便.那么有没有一种可行的办法能够将Activity里面相同的布局拆分的很清楚呢?当然是有的,这个时候就轮到自定义控件闪亮登场了. 其实在android里面有多种方法去实现自定义控件,但是今天这篇博客里面只介绍使用xml的方式进行自定义控件的创建.请看下面的这种场景,不管在哪个页面里面都有个标题,包括一条居中的文本信息和在左边的返回按钮.这个时候我们

Android入门(十四)内容提供器-实现跨程序共享实例

原文链接:http://www.orlion.ga/661/ 打开SQLite博文中创建的 DatabaseDemo项目,首先将 MyDatabaseHelper中使用 Toast弹出创建数据库成功的提示去除掉,因为跨程序访问时我们不能直接使用 Toast.然后添加一个 DatabaseProvider类,代码如下所示: package ga.orlion.databasedemo; import android.content.ContentProvider; import android.c

android学习十四(android的接收短信)

收发短信是每个手机基本的操作,android手机当然也可以接收短信了.android系统提供了一系列的API,使得我们可以在自己的应用程序里接收和发送短信. 其实接收短信主要是利用我们前面学过的广播机制.当手机接收到一条短信的时候,系统会发出一条值为andorid.provider.Telephony.SMS_RECEIVED的广播,这条广播里携带着与短信相关的所有数据.每个应用程序都可以在广播接收器里对它进行监听,收到广播时在从中解析出短信的内容即可. 下面我们来个具体的例子实践下吧,新建一个

Java微信公众平台开发(十四)【番外篇】--微信web开发者工具使用

转自:http://www.cuiyongzhi.com/post/58.html 为帮助开发者更方便.更安全地开发和调试基于微信的网页,微信推出了 web 开发者工具.它是一个桌面应用,通过模拟微信客户端的表现,使得开发者可以使用这个工具方便地在 PC 或者 Mac 上进行开发和调试工作.你可以: 使用自己的微信号来调试微信网页授权 调试.检验页面的 JS-SDK 相关功能与权限,模拟大部分 SDK 的输入和输出 使用基于 weinre 的移动调试功能 利用集成的 Chrome DevTool

unity3D游戏开发十四之NGUI一

转:http://blog.csdn.net/kuloveyouwei/article/details/23676039 在Unity中,可以使用代码控制其自身所携带的GUI来实现图形界面的搭建.但是这些组件的搭建效率很低,而且已经无法满足现在市场对图形用户界面美感的要求,所以,引入了NGUI来增加所要开发的图形用户界面的美感.NGUI是一个功能强大的UI系统,其事件处理通常由开发人员编写C#脚本完成,并且是一个严格遵循KISS原则的Unity框架,该框架具有干净.简约的代码. 现在NGUI的各

android 学习十四 探索安全性和权限

1.部署安全性:应用程序必须使用数字证书才能安装到设备上. 2.执行期间的安全性: 2.1 使用独立进程 2.2 使用固定唯一用户ID 2.3  申明性权限模型 3数字证书 3.1.数字证书的用处:使用数字证书对应用进行签名后,防止应用程序被非法更新(只有相同的数字证书才能更新应用) 3.2.数字证书:包含相关信息(如:公司名称和地址等)的工件. 重要特性包括(签名和公/私钥). 3.3.数字证书的获取:a.从证书授权机构购买 b.使用keytool等工具生成. 3.4数字证书的存储:存储在密钥

Android开发技巧四--圆角化控件,让它看起来更美

当需要为应用程序UI控件选择背景的时候,开发者会添加自定义的颜色和形状来代替系统的默认样式, 圆角边框看起来是很不错的效果,开发者只需要添加几行代码,就可以在应用程序中使用这种效果. 下面我们做一个例子看一看,新建一个main.xml代码: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/too

Android 第十四课——Handler Looper Message

1.基础概念 1)android.os.Handler 2)主要接受子线程发送的数据, 并用此数据配合主线程更新UI. 3)应用程序一旦启动,Android UI 这个主线程的生命周期就开始了,然而,Android UI 线程并不是线程安全的,也就是说,更新UI只能在主线程中同步更新,子线程中异步操作是危险的.所以,项目中如果我们直接new Thread 内部去更改Android UI,往往会报错误如下: java.lang.RuntimeException: Can't create hand