我正在使用Picasso将数据库中的图片设置为ImageView
的位置,并将可绘制的图像ID存储在数据库中。当我存储URL时(例如https://loremflickr.com/g/320/240/paris)but不能使用(例如R.drawable.team),它可以正常工作。
[数据库图片]
//image is the database column containing image ids
Context context = imageText.getContext();
Picasso.with(context)
.load(image)
.placeholder(R.mipmap.ic_launcher)
.error(R.mipmap.ic_launcher)
.resize(50, 50)
.into(imageview);
答案 0 :(得分:0)
您可以传递图像的路径来设置图像。使用Glide库设置图像比Picasso容易并且具有更多功能
答案 1 :(得分:0)
Picasso只是一个库,可通过uri或url路径更轻松地渲染图像,而没有Picasso,则必须创建一个非常复杂的异步脚本。但是,如果您具有绘制路径的动态数据,则可以使用常规循环进行处理。 他们现在支持从URI加载图像,如下所示:
Picasso.get().load(R.drawable.landing_screen).into(imageView1);
Picasso.get().load("file:///android_asset/DvpvklR.png").into(imageView2);
Picasso.get().load(new File(...)).into(imageView3);
从picasso v2+开始,这是一个很大的修改。新版本对管理现金数据非常有帮助。它使用的是Singleton实例。
顺便说一句,请不要保存可绘制的ID,只需存储可绘制的名称,以便以后在调用它时使用如下所示的方法
private void loadImage(String mImageName, ImageView mImageIcon){
int resID = mContext.getResources().getIdentifier(mImageName , "drawable", mContext.getPackageName());
if(resID!=0) {//The associated resource identifier. Returns 0 if no such resource was found. (0 is not a valid resource ID.)
mImageIcon.setImageResource(resID);
}
}