我正在使用Fresco图像加载库,我的问题是我可以在适配器中使用它吗?并且我的意思是每次调用bindView时调用控制器,它似乎不是一个问题而且它没有真正描述here
public void bindView(View view, final Context context, Cursor cursor) {
DraweeController controller = Fresco.newDraweeControllerBuilder()
.setOldController(imageview.getController())
.setUri(Uri.parse("file://" + sdPath))
.setAutoPlayAnimations(true)
.build();
imageview.setController(controller);
}
第二个问题是我将上述内容用于GIF图像,但它也适用于图像,所以我可以将上述内容用于两者吗?或者我应该仅将上述用于GIF,以及以下用于图像,
Uri uri = Uri.parse(Uri.parse("file://" + sdPath));
SimpleDraweeView imageview = (SimpleDraweeView) findViewById(R.id.my_image_view);
imageview.setImageURI(uri);
我之所以这样问是因为在通用图像加载器中我会像这样调用实例,然后在bindView中使用它,因为它是在适配器中使用它的推荐方法。 / p>
private static class MyCursorAdapter extends CursorAdapter {
private ImageLoader imageLoader = ImageLoader.getInstance();
public void bindView(View view, final Context context, Cursor cursor) {
imageLoader.displayImage("file://" + sdPath, imageview);
}
答案 0 :(得分:0)
对动画和静态图像使用第一种方法是完全安全的。实际上,setImageURI
被转换为完全相同的东西,除了setAutoPlayAnimations
默认为false。 <{1}}会因静态图像而被忽略,因此始终保持真实并不会受到影响。