You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio:如何移除PierfrancescoSoffritti库的YouTubePlayerListener

如何移除YouTubePlayerView中的YouTubePlayerListener

你当前的问题在于使用了匿名内部类创建AbstractYouTubePlayerListener,这种情况下无法直接获取监听器实例的引用,而removeYouTubePlayerListener()方法需要传入之前添加的同一个监听器实例才能生效。

解决方法是把监听器提取为类的成员变量,保存实例引用,后续就能用这个引用来移除监听器:

  1. 在你的Activity/Fragment中声明成员变量:
private AbstractYouTubePlayerListener myPlayerListener;
  1. 初始化监听器并添加到YouTubePlayerView:
myPlayerListener = new AbstractYouTubePlayerListener() {
    @Override
    public void onReady(@NonNull YouTubePlayer youTubePlayer) {
        youTubePlayer.loadVideo(videoID, 0);
    }
};
youTubePlayerView.addYouTubePlayerListener(myPlayerListener);
  1. 在Button1的点击事件中执行移除操作:
button1.setOnClickListener(v -> {
    youTubePlayerView.removeYouTubePlayerListener(myPlayerListener);
});

简单来说,只要持有了添加时的那个监听器实例,直接把它传给removeYouTubePlayerListener()就能完成移除操作,匿名类因为没有实例引用,所以无法直接用于移除。

内容的提问来源于stack exchange,提问作者BeginnersGuide

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 12:35:38