2015-10-14 6 views
-1

У меня есть несколько вариантов ImageView.Использование интерфейса, который расширяет общий класс

Все варианты должны реализовать следующий интерфейс:

public interface ResizableImageViewInterface { 
    boolean resizeImageToView(); 
} 

Однако, например, один класс распространяется непосредственно на класс ImageView, другой реализует 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. Я мог бы копировать и объявлять необходимые методы в интерфейсе, но это не кажется правильным способом.

+0

добавить метод 'setImageResource' в интерфейс' ResizableImageViewInterface'. –

+0

чего вы пытаетесь достичь? – Blackbelt

+0

точно, какова ваша цель? – pskink

ответ

0

Я, как и предполагалось, оказался для добавления необходимых методов в интерфейс.

Смежные вопросы