我有,我想與服務器進行通信的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