2011-12-22 60 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

相關問題