0

MainActivity オブジェクトをクラス Alarm のコンストラクターに渡しています。クラス Alarm は、MainActivity オブジェクト (new Alarm(this) のように示されます) を受け取るコンストラクターを使用して、クラス MainActivity でインスタンス化されます。Alarm クラスには YoutubeStandalonePlayer.createVideoIntent(mainActivityObject, ...) がありますが、mainActivityObject 変数に MainActivity オブジェクトが含まれていることを確認すると、null ポインター例外が発生します。

public class MainActivity {
    ...
    Alarm a = new Alarm(this);
    ...
}

public class Alarm extends BroadcastReciever {
    Activity mainActivityObject;
    public Alarm(Activity main) {
        mainActivityObject = main;
    }
    public void onReceive(Context arg0, Intent arg1) { // when onReceive is executed, I get a java.lang.NullPointerException
       Intent i = YouTubeStandalonePlayer.createVideoIntent((Activity) mainActivityObject, "apikey", "youtubevideoid", 0, true, true);
       mainActivityObject.startActivity(i);
    }
}

私が間違っていることを誰かが知っていますか?

4

1 に答える 1

0

私は Intent playVideo = YouTubeIntents.createPlayVideoIntentWithOptions(arg0, "apikey", true, true); を使用しました。代わりは。

于 2013-12-07T05:46:55.313 に答える