为什么在将Bundle传递给新活动时会获得NPE?

时间:2011-12-22 16:40:50

标签: android android-layout

在我的第一个Activity中,我将东西放入Bundle然后解雇Intent:

b = new Bundle();
b.putString(Constants.KEY_CLASS, classSelected);
Intent i = new Intent(this, AssessmentMarksActivity.class);
i.putExtras(b);
startActivity(i);

在下一个活动中,我只是得到了我需要的东西:

tvClass = (TextView) findViewById(R.id.tvAssessmentClass);
b = getIntent().getExtras();
classSelected = b.getString(Constants.KEY_CLASS);
tvClass.setText(classSelected);

当我尝试设置TextView的文本时,我得到了一个N​​PE。

这是文本视图的XML:

<TextView
android:id="@+id/tvAssessmentMarksClass"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:text="Class"
android:textSize="20dp" />

1 个答案:

答案 0 :(得分:5)

tvClass = (TextView) findViewById(R.id.tvAssessmentClass);

似乎ids不一样,从而导致你的NPE。

<TextView
    android:id="@+id/tvAssessmentMarksClass"
    ...