Youtube Android API - 监听器不能为null

时间:2018-02-25 05:17:52

标签: java android youtube-api

这是我的MainActivity的代码。我正在使用YouTube API在我的应用中显示嵌入的YouTube视频。我一次又一次地面对空指针异常,我试图搜索解决方案,但找不到任何...

public class MainActivity extends YouTubeBaseActivity implements YouTubePlayer.OnInitializedListener {

    YouTubePlayer.OnInitializedListener onInitializedListener;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        YouTubePlayerView youTubePlayerView = (YouTubePlayerView) findViewById(R.id.youTubePlayer);
        youTubePlayerView.initialize(Api.DEV_KEY,onInitializedListener);

    }

    @Override
    public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {
        //youTubePlayer.loadVideo("W4hTJybfU7s");
        if(null== youTubePlayer) return;

        // Start buffering
        if (!b) {
            youTubePlayer.cueVideo("-m3V8w_7vhk");
        }

        // Add listeners to YouTubePlayer instance
        youTubePlayer.setPlayerStateChangeListener(new YouTubePlayer.PlayerStateChangeListener() {
            @Override public void onAdStarted() { }
            @Override public void onError(YouTubePlayer.ErrorReason arg0) { }
            @Override public void onLoaded(String arg0) { }
            @Override public void onLoading() { }
            @Override public void onVideoEnded() { }
            @Override public void onVideoStarted() { }
        });

        youTubePlayer.setPlaybackEventListener(new YouTubePlayer.PlaybackEventListener() {
            @Override public void onBuffering(boolean arg0) { }
            @Override public void onPaused() { }
            @Override public void onPlaying() { }
            @Override public void onSeekTo(int arg0) { }
            @Override public void onStopped() { }
        });
    }

    @Override
    public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {
        Toast.makeText(this, "Failed to initialize.", Toast.LENGTH_LONG).show();
    }
}

这是我无处可寻的任何帮助

youTubePlayerView.initialize(Api.DEV_KEY,onInitializedListener);

这行代码不断反复抛出相同的错误。

这是我的XML文件:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.asimshehzad.testing1.MainActivity">

    <com.google.android.youtube.player.YouTubePlayerView
        android:id="@+id/youTubePlayer"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

</android.support.constraint.ConstraintLayout>

这是错误:

Caused by: java.lang.NullPointerException: listener cannot be null
at com.google.android.youtube.player.internal.ab.a(Unknown Source)
at com.google.android.youtube.player.YouTubePlayerView.a(Unknown Source)
at com.google.android.youtube.player.YouTubeBaseActivity$a.a(Unknown Source)
at com.google.android.youtube.player.YouTubePlayerView.initialize(Unknown Source)
at com.example.asimshehzad.testing1.MainActivity.onCreate(MainActivity.java:22)
at android.app.Activity.performCreate(Activity.java:5246)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)

任何人都可以帮助我吗?

0 个答案:

没有答案