2011-12-22 62 views
0

在我的第一个活动,我把东西成一束,然后发射过的意图:为什么在将Bundle传递给新Activity时会获得NPE?

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的文本时得到一个NPE。

这是文本视图的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" /> 

回答

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

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

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

OOPS ..谢谢,正确的ID是R.id.tvAssessmentMarksClass刚刚错过了'Marks' – 2011-12-22 16:48:28

相关问题