私は、サーバーと通信したいfragmmentを持っていますが、問題は、私はいつも、私は私のフラグメントonCreateViewでこれを持って、NULLポインタにコミュニケーションの問題
を得ることです:
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");
//}
}
}
- 私は、この致命的な例外取得:メイン
を私はあなたを助けることができます
HTTPSで、BrowseFragmentに続いて
を追加しました。 com/questions/39179317/mediabrowserservicecompat-bind-to-service –
多分私は明らかにしません。サーバーが動作していないのは、インターフェイスであり、mCallback.onPlayPause( "PAUSE")でエラーが発生しています。 –
インターフェイスを使用しようとするとフラグメントが表示されますか?フォーカスがなくなった場合、実装を呼び出す前にフラグメントが破棄される可能性があります。 'mCallback'がサービスのどこかで変更されないことは確かですか?私は似たようなものをまとめました。これは私のために働きます。 – Gary99