imagegetter-android4.2 在listview中解析带有img标签的html,并显示在textview中

问题描述

android4.2 在listview中解析带有img标签的html,并显示在textview中

代码均在listeview的适配器里,主要代码如下:

public View getView(int position, View v, ViewGroup parent) {
        LiveContextHolder lvcHolder;
        if (v == null) {
            v = inflater.inflate(R.layout.live_contxt_item, null);
            lvcHolder = new LiveContextHolder();
            lvcHolder.txtv_time = (TextView) v
                    .findViewById(R.id.lvcitm_txtv_time);
            lvcHolder.txtv_contxt = (TextView) v
                    .findViewById(R.id.lvcitm_txtv_contxt);
            lvcHolder.txtv_rmax = (TextView) v
                    .findViewById(R.id.lvcitm_txtv_rmax);
            lvcHolder.txtv_qmax = (TextView) v
                    .findViewById(R.id.lvcitm_txtv_qmax);

            v.setTag(lvcHolder);
        } else {
            lvcHolder = (LiveContextHolder) v.getTag();
        }

        LiveContxt lvc = liveContxts.get(position);

        lvcHolder.txtv_time.setText(lvc.getTime());
        lvcHolder.txtv_qmax.setText(lvc.getQmax());
        lvcHolder.txtv_rmax.setText(lvc.getRmax());
        CharSequence html;
        String html_c = lvc.getM_alias()+": "+StringCL.rplceStr(lvc.getContxt());
        StringBuffer html_r =  new StringBuffer("");
        if (lvc.getRplyLst() != null && lvc.getRplyLst().size() > 0) {
            for (RplyContxt rply : lvc.getRplyLst()) {
                html_r.append("--答--").append(rply.getM_alias()).append(":")
                        .append(StringCL.rplceStr(rply.getRply()));
                html_r.append("   ");
            }
        }
        html = Html.fromHtml(html_c + "  " +html_r.toString(),imageGetter,null);
        lvcHolder.txtv_contxt.setText(html);

        return v;
    }

    final Html.ImageGetter imageGetter = new Html.ImageGetter() {
        public Drawable getDrawable(String source) {
            //source="http://192.168.0.145:8888/hxzb/data/Image/2013-06/20130609152823009.jpg";
            // 在此必须异步加载图片
            Drawable d = null;
            try {
                InputStream is = new DefaultHttpClient().execute(new HttpGet(source)).getEntity().getContent();
                Bitmap bm = BitmapFactory.decodeStream(is);
                d = new BitmapDrawable(context.getResources(), bm);
                d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicWidth());
            } catch (Exception e) {
                e.printStackTrace();
            }
            return d;
        }
    };

问题在于在imageGetter时要开线程,但开线程也会引发其他问题,如图片还么下载完,函数就已经返回了,会有空值,并且我也不知怎么写这个线程,望高手指导!!!

时间: 2024-08-18 09:55:24

imagegetter-android4.2 在listview中解析带有img标签的html,并显示在textview中的相关文章

javascript如何解析base64图片数据 并且将图片显示在网页中

问题描述 javascript如何解析base64图片数据 并且将图片显示在网页中 最好是有详细的javascript解析base64的源代码(本人初学者请见谅),显示这一块儿 怎么获取javascript解析好的图片 麻烦各位大神了 急!急!急! 解决方案 var base64EncodeChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; var base64DecodeChars =

treeview-MFC中 解析XML文件,并用tree control 显示,如何进行对xml文件的增删改查?

问题描述 MFC中 解析XML文件,并用tree control 显示,如何进行对xml文件的增删改查? 如题,我利用tree control 显示了一个xml文件,然而不知道如何进行修改数据,就是点击了树形结构的节点,但是不知道如何定位点击的节点位置在原xml文件的位置? 解决方案 http://www.codeproject.com/Articles/11244/XML-TreeView-Control 解决方案二: simpleXML怎样解析一个xml文件,并对xml进行增删改查 过程Li

Android开发:优化ListView实践解析

 在看了一些vogella的文章之后,发现关于android listview性能优化这一段很有意思,于是实践了一下,经过优化,性能确实提升不少! 先看看优化前和优化后的比较: 优化前的log截图: 开发:优化ListView实践解析-"> 优化后的log截图: 并且,在不停滚动ListView的过程中,优化之前会出现ANR现象,在AVD上特别容易复现: 然后,优化后显得很流畅,附上对于的log截图: 下面附上相关代码分析: ListView中的每一个Item由一个ImageView 和一

解析带有函数的字符串

问题描述 怎样解析带有函数的字符串比如:abs(abs(1)+2*(1+3)) 解决方案 解决方案二:你想要什么结果?解决方案三:引用楼主libo19872011的回复: 怎样解析带有函数的字符串比如:abs(abs(1)+2*(1+3)) 用c#动态编译吧..解决方案四:我实在datatable上进行操作的.就是在列之间进行的运算.比如:第二列值=abs(第一列)+2*(第二列值)之类的解决方案五:楼主搞编译原理吗?解决方案六:不是的啊,不知道这样功能怎样实现啊解决方案七:引用5楼libo19

Android之ListView异步加载图片且仅显示可见子项中的图片

折腾了好多天,遇到 N 多让人崩溃无语的问题,不过今天终于有些收获了,这是实验的第一版,有些混乱,下一步进行改造细分,先把代码记录在这儿吧. 网上查了很多资料,发现都千篇一律,抄来抄去,很多细节和完整实例都没看到,只有自己一点点研究了,总体感觉 android 下面要显示个图片真不容易啊. 项目主要实现的功能: 异步加载图片 图片内存缓存.异步磁盘文件缓存 解决使用 viewHolder 后出现的图片错位问题 优化列表滚动性能,仅显示可见子项中的图片 无需固定图片显示高度,对高度进行缓存使列表滚

android中解析text文件

问题描述 android中解析text文件 在应用中,创建了一个text文件保存数据,值大致如下: 98, 97, 98, ...... 需要从text文件中获取然后保存在一个数组列表中,想实现时报出异常. 代码: package com.example.meme; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; import ja

Ajax中解析Json的两种方法对比分析

  这里给大家介绍的是Ajax中解析Json的两种方法对比分析,十分的实用,本文为学习笔记,属新手文章,欢迎指教! eval(); //此方法不推荐 JSON.parse(); //推荐方法 一.两种方法的区别 我们先初始化一个json格式的对象: ? 1 2 3 4 5 var jsonDate = '{ "name":"周星驰","age":23 }'   var jsonObj = eval( '(' + jsonDate + ')' );

在J2ME开发中解析XML

目前,XML已经广泛应用于数据交换领域,xml是基于纯文本的,具有优秀的跨平台特性.本文将讲述如何在J2ME中解析XML进行数据传输. XML写法比较简单,而且非常便于人来阅读.但是必须在客户端和服务器端有XML的解析器才可以正常通信,由于初期的移动信息设备内存和处理器上的不足,所以在MIDP1.0中并没有提供对XML的支持.随着内存和处理器的提高,对XML的支持成为了可能.在JSR182中提供了XML的解析器,但是这并不是标准MIDP中的API需要特定的实现才可以支持.幸运的是有第三方的API

php中解析带中文字符的url函数分享

 这篇文章主要介绍了php中解析带中文字符的url函数分享,本文直接给出实现代码,重点是对rawurlencode函数的使用上,需要的朋友可以参考下     很多时候,在书写网页应用程序时候,会遇到中文和其他字符冲突的问题,例如有的url链接中包含中文字符,那么在使用wget/curl/file_get_contents等等获取信息时候会直接撞上一个大大的"404",会很无语. 这里写了一个小函数来解决这个问题,只是限于在path中进行解析而已,涉及到的相关函数使用大家可以查看手册就行