使用Html.ImageGetter在Textview中显示图像时出现问题

时间:2011-06-01 12:07:54

标签: android

我想用文本在TextView中显示图像,我曾使用过Html.ImageGetter但是没有显示图片这是我的代码,请告诉我这段代码有什么问题

public class MyTest extends Activity {

TextView t=null;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    t=(TextView)findViewById(R.id.textcode);

    t.setText(Html.fromHtml("Hi", imgGetter, null));

}

private ImageGetter imgGetter = new ImageGetter() {

    public Drawable getDrawable(String source) {
            Drawable drawable = null;
            try {

                    drawable = getResources().getDrawable(R.drawable.icon);
                    drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable
                                    .getIntrinsicHeight());

            } catch (Exception e) {
                    e.printStackTrace();
                    Log.d("Exception thrown",e.getMessage());
            } 
            return drawable;
    }
};

}

2 个答案:

答案 0 :(得分:0)

如果要显示图像到文本视图,可以使用以下代码

Drawable img = getContext().getResources().getDrawable( R.drawable.smiley );
img.setBounds( 0, 0, 60, 60 );
txtVw.setCompoundDrawables( img, null, null, null );

否则

如果您想要与图片一起显示文字,可以使用WebView代替TextView并将数据传递给网页浏览

webview.loadData("html text", "text/html", "UTF-8");

由于 迪帕克

答案 1 :(得分:0)

ImageGetter用于<img>标记解析。因此,您必须在HTML代码中添加<img>标记。例如,

t.setText(Html.fromHtml("Hi <img src='some_image'>", imgGetter, null));

但是你最好让ImageGetter子类根据source参数返回一个图像。