所以我在這裏掙扎一點,以獲得從一個活動傳遞到另一個活動的值。我已經嘗試了一切,並在這裏看過其他地方,但是我發現的一切都沒有工作,或者與我的問題無關。麻煩通過意圖傳遞價值到新的活動
我正在實例化意圖並使用Extras來傳遞值。我正在使用Eclipse,並沒有在IDE中給出任何錯誤。 根據LogCAT,這是一個NullExceptionPointer錯誤得到拋出,因爲我使用意圖的getIntExtra()方法。
下面是主要活動代碼:
int tempScore = GUESS_COUNT;
Intent intent = new Intent(getApplicationContext(), SubmitScore.class);
intent.putExtra("PASSED_SCORE", tempScore);
startActivity(intent);
下面是來自新的活動代碼:
private Intent i = getIntent(); //declared in the class header
tempScore = i.getIntExtra("PASSED_SCORE", 999); //exists inside of a private method for the class
//(ALSO: THIS tempScore is a private int variable localized to only this class, so that's not the problem)
它試圖存儲getIntExtra的那一刻()返回值tempScore,它拋出NullPointerException錯誤。含義:它試圖在沒有價值的情況下拉取價值。 它不應該至少將999作爲默認值嗎?爲什麼錯誤呢?另外,爲什麼價值沒有被推到新的活動?在此先感謝您的幫助。 JRad
這還挺其實答案。雖然不是100%,但它使我走向了正確的方向。你是對的,onCreate()必須發生才能真正拉動Intent。 (哪一個Eclipse不夠有趣)。不幸的是,你不能將它放在像onCreate這樣的方法中,因爲它不會識別它將在封裝getIntExtra()的方法之前執行。我的解決方案是將getIntent()放在同一個方法中,因爲它是我當前使用推送值的唯一地方。謝謝! –