0

したがって、このサイト (および他のサイト) で多くの質問を読みましたが、コードの有効な解決策が見つからないため、次のステップはここに投稿することだと考えています。迷路ゲームを作っています。生成アクティビティと再生アクティビティがあり、生成された Maze オブジェクトを PlayActivity に渡そうとしています。迷路はシリアライズ可能ですが、PlayActivity のインテントから迷路を取得しようとすると、null ポインター例外が返されます。どんな考えも素晴らしいでしょう。

Maze:
public class Maze implements Serializable {

private static final long serialVersionUID = 1L;

そしてGeneratingActivity:

Intent playIntent = new Intent(this , PlayActivity.class);
playIntent.putExtra("MadeMaze" , maze);
startActivity(playIntent);

そして最後に PlayActivity:

maze = (Maze) getIntent().getSerializableExtra("MadeMaze");
System.out.print(maze.mazecells.toString());
System.out.print("here");

おそらく誰かが Parcelable の使用を提案することはわかっていますが、私の Maze クラスには非常に多くのデータ フィールドがあり、それほど価値があるとは思えません (誰かに正当な理由がない限り)。

編集:ここにログがあります:

FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity        ComponentInfo{edu.wm.cs.cs301.jesavino/edu.wm.cs.cs301.jesavino.UI.PlayActivity}: java.lang.NullPointerException

11-20 21:46:37.614: E/AndroidRuntime(1940):     at     android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211)
11-20 21:46:37.614: E/AndroidRuntime(1940):     at     android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
11-20 21:46:37.614: E/AndroidRuntime(1940):     at android.app.ActivityThread.access$600(ActivityThread.java:141)
11-20 21:46:37.614: E/AndroidRuntime(1940):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
11-20 21:46:37.614: E/AndroidRuntime(1940):     at android.os.Handler.dispatchMessage(Handler.java:99)
11-20 21:46:37.614: E/AndroidRuntime(1940):     at android.os.Looper.loop(Looper.java:137)
11-20 21:46:37.614: E/AndroidRuntime(1940):     at android.app.ActivityThread.main(ActivityThread.java:5103)
11-20 21:46:37.614: E/AndroidRuntime(1940):     at java.lang.reflect.Method.invokeNative(Native Method)
11-20 21:46:37.614: E/AndroidRuntime(1940):     at java.lang.reflect.Method.invoke(Method.java:525)
11-20 21:46:37.614: E/AndroidRuntime(1940):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
11-20 21:46:37.614: E/AndroidRuntime(1940):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
11-20 21:46:37.614: E/AndroidRuntime(1940):     at dalvik.system.NativeStart.main(Native Method)
11-20 21:46:37.614: E/AndroidRuntime(1940): Caused by: java.lang.NullPointerException
11-20 21:46:37.614: E/AndroidRuntime(1940):     at edu.wm.cs.cs301.jesavino.UI.PlayActivity.onCreate(PlayActivity.java:36)
11-20 21:46:37.614: E/AndroidRuntime(1940):     at android.app.Activity.performCreate(Activity.java:5133)
11-20 21:46:37.614: E/AndroidRuntime(1940):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
11-20 21:46:37.614: E/AndroidRuntime(1940):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)
11-20 21:46:37.614: E/AndroidRuntime(1940):     ... 11 more
4

3 に答える 3