1

TextViewアクティビティ内にいくつかの画像を含む html テキストを表示したいと考えています。画像を表示することができません。を使用してImageGetterいます。ローカルのドローアブルを表示しようとすると機能しますが、URL から画像を取得しようとすると何も表示されません。これが私のコードです:

package com.example.imagegetter;

import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;

import android.os.Bundle;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.text.Html;
import android.util.Log;
import android.view.Menu;
import android.widget.TextView;

public class MainActivity extends Activity {
    String htmlTextWithImage = "<h1>Image Getter Example</h1>"
            + "<img src=\"http://allisonnazarian.com/wp-content/uploads/2012/02/random.jpg\"/>";


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        TextView tv = (TextView) findViewById(R.id.tv);
        tv.setText(Html.fromHtml(htmlTextWithImage,new MyImageGetter(),null));
    }

    private class MyImageGetter implements Html.ImageGetter{

        @Override
        public Drawable getDrawable(String arg0) {
            Bitmap bitmap;
            try {
                bitmap = BitmapFactory.decodeStream(new URL(arg0).openStream());
                Drawable drawable = new BitmapDrawable(bitmap);
drawable.setBounds(0,0,drawable.getIntrinsicWidth(),drawable.getIntrinsicHeight());
                return drawable;
            } catch (Exception e) {
                Drawable d = getResources().getDrawable(R.drawable.ic_launcher);
                d.setBounds(0,0,d.getIntrinsicWidth(),d.getIntrinsicHeight());
                return d;
            }   
        }   
    }
}
4

1 に答える 1

1

それを使用してビットマップを変換します-

bitmap=BitmapFactory.decodeStream((InputStream) 新しい URL(arg0).getContent(), null, null);

このリンクをチェックAndroid HTML ImageGetter as AsyncTask

于 2013-04-22T10:37:26.783 に答える