【发布时间】:2018-10-08 19:58:16
【问题描述】:
我有 2 个活动。 两者都实现了surfaceview。 在第一个中,我有一个名为 score1 的变量,我想将 score1 中的值传递给第二个活动。
每次我运行应用程序时,它都会在完成第一个活动并尝试加载第二个活动后崩溃。在我编写代码以在第二个活动中获取额外的意图之前,一切都运行良好。
我的第一个活动有这个意图:
Intent intent = new Intent (myContext, PunchItActivity.class);
intent.putExtra("score_var", score1);
myContext.startActivity(intent);
((Activity) myContext).finish();
在我的第二个活动中,以下代码尝试获取 score1 变量的值:
Intent mIntent = ((Activity) myContext).getIntent();
int score1 = mIntent.getIntExtra("score_var", 0);
score1 *= molesWhacked + 10;
canvas.drawText("Score: " + Integer.toString(score1), 20, 160, blackPaint);
我不明白为什么每次活动一离开场景而活动二尝试渲染它的表面视图并显示来自 score1 的值时应用程序都会崩溃。
【问题讨论】:
-
使用 LogCat 检查与您的崩溃相关的 Java 堆栈跟踪:stackoverflow.com/questions/23353173/…
-
LogCat 说:尝试在空对象引用上调用虚拟方法 'android.content.Intent android.app.Activity.getIntent()'
-
这表明
myContext是null。您可以考虑将完整源代码添加到问题的第二个活动中,或者至少足以显示您尝试在何处以及如何设置mContext。
标签: java android android-intent parameter-passing