我需要将非ui类的Bitmap发送到activity,这样我就可以使用它或直接从非ui类更新ui。我怎样才能做到这一点。 localbroadcastreceiver是唯一的选择,还是有任何简单的方法来实现我的目标。 的修改: 我从套接字连接接收该图像,并希望用该图像更新ui。
答案 0 :(得分:0)
您不必发送实际的Bitmap
。如果您正在使用Intents
和进程间通信,那么发送图像的路径可能对您有用,但如果是在同一个过程中,传递引用的方式与对任何pojo的方式相同。
如果是网络图片。您可以根据图像的大小将其缓存在磁盘或内存中。
PS;你可能想让你的问题不那么模糊
答案 1 :(得分:0)
一种方法是制作该方法static
,然后您可以在非活动类中使用它:
public class MyBitmap{
public static Bitmap getMyBitmap(){
Bitmap bitmap = Get your bitmap from the socket connection
return bitmap;
}
}
然后在activity class
:
imageView.setImageBitmap(MyBitmap.getMyBitmap());
答案 2 :(得分:0)
是的,您可以使用localbroadcastreceiver轻松实现。和它的良好做法,而不是应用eventbus左右.. 可能是你在使用XMPP之类的东西。 所以在localbroadcastreceiver中,当你获得图像时,只需从那里获取完整的imagepath并将其传递给活动,然后从活动中的路径加载它。