我在我的项目中使用cardlayout,我正在从Firebase检索所有数据。我用了三节课 在MainActivity中,我使用piccaso获取图像 MainActivity.java
Picasso.with(MainActivity.this).load(uri).fit().centerCrop().into(img);
ContactInfo obj=new ContactInfo();
obj.image=img;
ContactInfo.java
public ImageView image;
CardLayout.java
ContactInfo object=new ContactInfo();
Cardlayout.img=object.image.
我的问题是我想将图像从MainActivity传递给CardLayout。通过这样做我的应用程序崩溃。
任何人都可以帮助我。
答案 0 :(得分:1)
我认为您可以在一个活动中加载图像,然后将URL传递给第二个活动。由于Picasso使用相同的URL缓存所有图像第二次调用,因此将从缓存中获取相同的图像:
Picasso.with(context).load(url).into(imageView)
要检查图像是否已从缓存加载,只需启用指标:
Picasso.with(getContext()).setIndicatorsEnabled(true).
红色 - 它是从网络中获取的 蓝色 - 来自磁盘缓存 绿色 - 来自内存缓存
UPD:
如果你有一个单独的类调用Picasso.with(MainActivity.this),只需执行以下操作:
public class Util {
private Context context;
public Util(Context context) {
this.context = context;
}
public void callPicasso() {
Picasso.with(context)......
}
}
在MainActivity中: public void onCreate(){
Util u = new Util(this.getApplicationContext());
u.callPicasso()
或者直接在MainActivity中使用picasso调用