java传入匿名类的覆盖问题

问题:重写接口方法不生效。
原因:new 一个匿名类对象重写方法后,又new 一个同一接口匿名类对象,后一个匿名类对象引用会覆盖掉前一个。
解决:新增一个接口,然后通过重载的方式提供对外接口。

    private OnMediaPlayerHelperListener onMediaPlayerHelperListener;
    private OnSeekBarListener onSeekBarListener;
    //由于两个地方都要重写setOnMediaPlayerHelperListener,且接口不同,所以这里进行重载。
    public void setOnMediaPlayerHelperListener(OnMediaPlayerHelperListener onMediaPlayerHelperListener) {
        this.onMediaPlayerHelperListener = onMediaPlayerHelperListener;
    }
    public void setOnMediaPlayerHelperListener(OnSeekBarListener onSeekBarListener){
        this.onSeekBarListener=onSeekBarListener;
    }
    public interface OnMediaPlayerHelperListener{
        void onPrepared(MediaPlayer mp);
        void onCompletion(MediaPlayer mp);
    }
    public interface OnSeekBarListener{
        void onPrepared();
    }

版权声明:本文为weixin_44110537原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。