如何从片段中修复 NPE?

how to fix NPE from fragment?

从我应用程序中的片段我需要调用 public 使 myService.class 中的状态无效。

事实上,我需要为 mediaPlayer 的按钮执行操作,这将从片段中调用。 第一次按 btn_PlayResume - 它 startService(); 第二次按下时 - 调用 pause(); 如果再次调用 play(),但不再 startService()

我有下一个代码:

@Override
    public void onClick(View v) {
        switch (isPlaying){
            case 0:
                btn_PlayResume.setImageResource(R.drawable.select_btn_pause);
                isPlaying=1; //is playing
                getActivity().startService(serviceIntent);
                break;
            case 1:
                btn_PlayResume.setImageResource(R.drawable.select_btn_play);
                isPlaying=2;// on pause
                myService.pauseAudio();
                break;
            case 2:
                btn_PlayResume.setImageResource(R.drawable.select_btn_pause);
                isPlaying=1; //is playing
                myServise.playAudio();
                break;
        }
    }

但是当我 运行 我的应用程序时,myService.pauseAudio();

中有 NPE

那么,我该如何解决呢? 会很高兴任何帮助

通过创建扩展 Service 的 class 对象,使用 LocalBroadcastManager 而不是从 Service 调用 pauseAudio()playAudio() 方法。

使用 LocalBroadcastManager 从 Activity 发送具有不同操作的 Intent 以在服务中暂停和播放 MediaPlayer

请参阅以下教程以使用 LocalBroadcastManager :

Java Android Program to Demonstrate Local BroadCast Manager