我正在尝试在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);
我收到的文字是一个小绿框而不是实际图片?
有人可以帮我解决这个问题吗?
答案 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。