【发布时间】:2015-10-14 08:43:52
【问题描述】:
我有一些 ImageView 的变体。
所有变体都需要实现以下接口:
public interface ResizableImageViewInterface {
boolean resizeImageToView();
}
但是,例如一个类直接扩展了ImageView类,另一个实现了ImageViewTouch,ImageViewTouch本身实现了ImageView。
我的问题是我需要调用 ImageView 方法和接口中的方法。例如。在我的缓存加载器中:
public ImageLoader(String imageUrl, ResizableImageViewInterface view) {
viewReference = new WeakReference<>(view);
this.imageUrl = imageUrl;
view.setImageResource(R.drawable.loading);
}
这不起作用,因为 ResizableImageViewInterface 没有 setImageResource 方法。我想我可以这样做表明继承:
public interface ResizableImageViewInterface extends ImageView
但这是不可能的。如何创建这种关系,以便我让这两个类都实现接口以及所有 ImageView 方法可用。我可以在接口中复制并声明所需的方法,但这似乎不是正确的方法。
【问题讨论】:
-
在接口
ResizableImageViewInterface中添加setImageResource方法。 -
你想达到什么目的?
-
没错,你的目标是什么?
-
@sajan-chandran 这就是我所做的,但这听起来不像是正确的方法。我正在尝试有一个通用接口,它扩展了 ImageView 但有一个额外的方法用于两个扩展 ImageView 但不直接扩展的类(具有不同的子类)。