Android Java在活动之间传递值
我有两项活动。 两者都已实现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);
我无法理解为什么每次activity one离开场景,activity II尝试渲染其surfaceview并显示score1中的值时,应用程序都会崩溃
# 1 楼答案
问题是因为
mContext
为空,所以需要对其进行初始化如果你正在开始一项活动,你不需要使用
mContext
。你可以使用this
你的活动,比如:或者在匿名类中使用类似的代码:
在第二个活动中,您不需要使用} 方法,因为您只需要获得启动第二个活动的意图。该意图已附加到第二项活动中。因此,您需要将代码修改为以下内容:
mContext
来使用^{# 2 楼答案
在你的第一个活动中尝试这样做: