尝试在android中的Strings.xml中的textView中设置图像

时间:2014-09-03 04:35:28

标签: java android xml

我正在尝试在strings.xml中设置存储在assets文件夹中的图像,并将该字符串设置为TextView。这可能吗?

Strings.xml具有以下字符串:

<string name="nofriends">No Friends.. <![CDATA[<br><br><br><br> <img src=\"file:///android_asset/sad.png\"/>]]></string>

在我的java文件中,我设置了类似的内容&#34;

Spanned text = Html.fromHtml(res.getString(R.string.nofriends));
noFriends.setText(text);

我收到的文字是一个小绿框而不是实际图片?

有人可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:3)

您可以使用ImageGetter从可绘制资源中获取图像。

ImageGetter imageGetter = new ImageGetter() {

    @Override
    public Drawable getDrawable(String source) {
        Drawable d = getResources().getDrawable(R.drawable.yourimage);
        d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());
        return d;
    }
};

Spanned spanned = Html.fromHtml(
    "<img src='" + getResources().getDrawable(R.drawable.yourimage) + "'/>", imageGetter, null);

现在将其设置为TextView

textView.setText(spanned);

修改

<string name="nofriends">No Friends.. ####</string> //#### to replace with image

String s=res.getString(R.string.nofriends);
s=s.replace("####",spanned);
textView.setText(s);

答案 1 :(得分:-1)

TextView并非旨在像这样使用。您应该做的是在TextView上设置drawable属性。

查看类似问题的完美答案here