【发布时间】:2015-09-20 18:59:15
【问题描述】:
我正在尝试使用 Square 的 Picasso 从 URL 中提取 jpg,然后附加到 EditText。 Picasso 的原因是它在实现上非常轻量级。可以看出我正在使用占位符 ImageView,Picasso 将从提供的 URL 导入图像,然后我将该 ImageView 转换为 Drawable。 ImageGetter 也是如此。但是,在使用下面的配置时,我收到空指针错误。 (请注意,当简单地使用应用程序资源中的可绘制对象代替下面的“drawImage”变量时,此配置有效,但我正在尝试扩展它以从 URL 中提取资源)。
这里有什么不合适的吗?还是更有效的方法?
追加到EditText的方法:
public void appendToMessageHistory(String username, String message) {
if (username != null && message != null) {
ImageView image = new ImageView(getApplicationContext());
Picasso.with(getBaseContext()).load("http://localhost:3000/uploads/campaign/image/2/2.jpg").into(image);
Drawable drawImage = image.getDrawable();
messageHistoryText.append(Html.fromHtml("<b>" + username + ":"
+ "</b>" + "<br>"));
messageHistoryText.append(Html.fromHtml(message + "<hr>" + "<br>")
+ System.getProperty("line.separator") + "");
messageHistoryText.append(Html.fromHtml("<img src = '"
+ drawImage + "'/>",
imageGetter, null));
}
}
ImageGetter:
ImageGetter imageGetter = new ImageGetter() {
@Override
public Drawable getDrawable(String source) {
ImageView image = new ImageView(getApplicationContext());
Picasso.with(getBaseContext()).load("http://localhost:3000/uploads/campaign/image/2/2.jpg").into(image);
Drawable drawImage = image.getDrawable();
drawImage.setBounds(0, 0, drawImage.getIntrinsicHeight(), drawImage.getIntrinsicWidth());
return drawImage;
}
};
【问题讨论】:
-
发布 logcat 错误..
标签: android nullpointerexception picasso