我有,我想与服务器进行通信的fragmment,但问题是,我总是得到空指针通信问题
我有这个在我的片段onCreateView:
public class BrowseFragment extends Fragment implements View.OnClickListener{
private MusicService mMusicService;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment, container, false);
mMusicService = new MusicService(this);
mMusicService.setCallback(new MusicService.Callback() {
@Override
public void onPlayPause(String state) {
//Do something
}
});
}
}
这是我的服务:
public class MusicService extends MediaBrowserServiceCompat {
public interface Callback {
public void onPlayPause(String state);
}
public void setCallback(Callback callback) {
this.mCallback = callback;
}
private void PauseRequest() {
mPlayback.pause();
//if (mCallback != null) {
mCallback.onPlayPause("PAUSE");
//}
}
}
I'm得到这个致命异常:主要
Process: com.geobytenet.mediaplayer, PID: 3262
java.lang.NullPointerException: Attempt to invoke interface method 'void com.example.android.mediabrowserservice.MusicService$Callback.onPlayPause(java.lang.String)' on a null object reference
我希望你能帮助我
https://开头计算器。 com/questions/39179317/mediabrowserservicecompat-unable-to-bind-to-service –
也许我不清楚。服务器正在工作什么是不工作的界面和即时通讯mCallback.onPlayPause(“暂停”); –
当您尝试使用界面时,您的片段是否显示?如果它不再有焦点,那么在调用实现之前,您的碎片有可能被销毁。你确定'mCallback'在服务的其他地方没有被修改吗?我已经把类似的东西放在一起,这对我很有用。 – Gary99