在活动1中,我将一张图片从url加载到imageview中(使用glide)。当我切换到活动2时,我断开了网络连接,我需要在另一个imageview中加载相同的图像。我该如何实现这一点?使用glide缓存在某处的图像可以做到这一点吗?
我使用这个,这对我有用:
添加一个OnClickListener,如下所示:
Glide.with(this)
.load("URL HERE")
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(Image);
Image.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent= new Intent(context,FullScreenImage.class);
intent.putExtra("image_url", "URL HERE" );
startActivity(intent);
}
});
然后在新的活动中:
public class FullScreenImage extends AppCompatActivity {
ImageView myImage;
String url = "";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_full_screen_image);
url = getIntent().getStringExtra("image_url");
myImage = findViewById(R.id.myImage);
Glide.with(this).load(url)
.placeholder(R.drawable.ic_image_send_24dp)
.error(R.drawable.ic_image_send_24dp)
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(myImage);
}
}
PS:不要忘记使用< code >。diskCacheStrategy(diskCacheStrategy。ALL)在两项活动中使用glide。
不要使用glide缓存图像,而是创建你自己的缓存文件夹并将图像缓存到其中。在整个应用程序中可以很容易地访问它
Glide.with(yourImageView.getContext())
.load("your url")
.asBitmap()
.placeholder(R.drawable.place_holder)
.error(R.drawable.place_holder)
.into(new SimpleTarget<Bitmap>() {
@Override
public void onResourceReady(Bitmap resource, Transition<? super Bitmap> transition) {
//Create a folder for caching and add images from here
}
});
在你的活动中
将ImageView转换为位图
imageView.buildDrawingCache();
Bitmap bmp = imageView.getDrawingCache();
Intent intent = new Intent(this, Activity2.class);
intent.putExtra("img", bmp);
在活动2中
Bitmap bitmap = (Bitmap) intent.getParcelableExtra("img");
imageView.setImageBitmap(bitmap);
在SO上也有类似的问题,但没有一个对我有效。 我想在Activity1中获取被点击的图像并在Activity2中显示它。 我获取被点击图像的图像id如下所示: 并通过意图传递给另一个活动。 任何帮助都很感激。
Activity-2(将所选图像设置为屏幕背景图像的活动)
我想把意图转移到Xamarin.Android中的另一个活动。基本上,我需要Intent.data和Intent.clipdata到另一个活动,所以我使用下面的代码来传输Intent,但我不知道检索它的正确方法。 下面是Main Activity中的代码 在第二活动中 如何在第二个活动中检索意图?
我尝试使用 如有任何帮助,不胜感激,谢谢。
我正在使用解析网站。 我在中有一个。 并且我需要将值传递给。 所以我创建了一个类实现。 但是,我在类中得到了一个。 如何将传递给另一个活动?