ゲームアクティビティからメインアクティビティに戻るときにNPEを取得します。呼び出されていない関数でも。私がメインの活動に戻りたい場所ですJava + Android - >新しいアクティビティの開始時にNULLポインタ例外が発生する
Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'void com.example.semanticer.unstable.presentation.GameView.showGameBoard(com.example.semanticer.unstable.domain.model.GameBoard)' on a null object reference
at com.example.semanticer.unstable.presentation.GamePresenter.lambda$onCreate$0(GamePresenter.java:23)
(私はその行の前に、コンソールに書き込もうとしたとき、それは何もしません) - はい私はあまりにも)(仕上がりを試してみました。
@Override
public void playAgain(View view) {
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
}
これは私がエラー
protected void onCreate(Bundle savedState) {
super.onCreate(savedState);
game = GameImpl.createNew(6, 4);
**view().subscribe(view -> view.showGameBoard(game.getBoard()));**
view().subscribe(view -> view.showCurrentPlayer(Player.FIRST_PLAYER));
view().subscribe(view -> view.showScore(Player.FIRST_PLAYER, Player.SECOND_PLAYER, game));
view().subscribe(view -> view.hideWinnerText());
}
にプロジェクト全体がgithubの上にあり得るラインである - >
https://github.com/zdenduk/AndroidUnstableAtoms
あなたがここにレイアウトを見つけることができます -
/zdenduk/AndroidUnstableAtomsを/ tree/master/app/src/main/res/layout
とソースコードここに - >
/zdenduk/AndroidUnstableAtoms /木/マスター/アプリ/ srcに/メイン/ javaの/ COM /例/ semanticer /不安定
はあなたをありがとう努力:)
私は実際にはラムダを使用することを推奨しません.- Java 8のサポートは実験段階です。それはまたあなたがここで得ることができるサポートを大幅に減らします - アンドロイドタグの誰もそれを使用しません。それ以外に、ビュー()は何ですか?それはAndroidの一部ではなく、あなたは私たちのためにそれを提供していません。しかし、あなたの問題はどこかで初期化されていない変数に来ることが確実です。 –
メソッドビュー()はここにあります:https://github.com/konmik/nucleus/blob/249ab08547cb2b10ddce268dfb0b27b5013623c2/nucleus/src/main/java/nucleus/presenter/RxPresenter.java –
私はこれを言うつもりです私はあなたのコードが読めないほど重要ではない建設的であることを意味します。この抽象コードをコード化し、ここでRxJavaを乱用することには全く役に立たない。それをデバッグするためにここで何が起こっているのかを十分に理解するには、1日か2日かかるでしょう。あなたがしようとしているのは、ゲームボードを表示することだけです。それを行う。あなたが持っているものはメンテナンスの悪夢です。 –