【问题标题】:Using an interface which extends a generic class使用扩展泛型类的接口
【发布时间】: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 但不直接扩展的类(具有不同的子类)。

标签: java android interface


【解决方案1】:

按照建议,我最终只是将所需的方法添加到接口中。

【讨论】:

    猜你喜欢
    • 2015-04-01
    • 2021-08-28
    • 1970-01-01
    • 2018-04-09
    • 2020-07-19
    • 2021-11-07
    • 2021-02-06
    • 2019-04-06
    • 2018-07-13
    相关资源
    最近更新 更多