1

我正在使用 Fresco 图像加载库,我的问题是我可以在适配器中这样使用它吗?我的意思是每次调用 bindView 时都调用控制器,它似乎没有问题,这里也没有真正描述

        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 中使用它,因为它是在适配器中使用它的推荐方式。

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);

        }
4

1 回答 1

0

将第一种方法用于动画和静态图像是完全安全的。事实上,除了默认情况下它是假的setImageURI之外,它被翻译成完全相同的东西。静态图像会被忽略,因此始终保持正确不会有什么坏处。setAutoPlayAnimationssetAutoPlayAnimations

于 2015-08-07T14:02:58.983 回答