我在Udacity上學Google和Android的課程來學習Android和Java。目前,我正在開發的項目是構建一個代表點咖啡的應用程序。有一個數量的TextView,加上一個+和 - 按鈕,點擊增加或減少數量,以及一個提交訂單按鈕,該按鈕調用打印訂單摘要的方法。爲什麼不把這個代碼放入函數會導致空指針異常?
不幸的是,我丟失了應用程序的原始源代碼,所以我嘗試自己重建它。我得到它的工作,但不是我最初設計的方式。我遇到的問題是,如果我引用存儲其自身方法外排序的咖啡數量的TextView,應用程序將立即因NullPointerException而崩潰。但是,如果我通過創建一個名爲display(int number)的方法引用該TextView,該應用程序運行良好。什麼導致這個NullPointerException?我在下面提供了兩個源代碼的鏈接,其中一個可以正常工作,另一個可以立即崩潰。
的NullPointerException: https://gist.github.com/CalebF98/eeb7d4144b831b247264ad6a3de0cb76 ,其崩潰該應用在此代碼的部分是在管線18中MainActivity.java文件
正常工作: https://gist.github.com/CalebF98/906967d4ebe8ae4d1293a0a13b01f477 在這其中,在第37-39行,我創建一個保存相同代碼的方法,以引用TextView,如上面的示例中所述,稍後由+和 - 按鈕的方法調用該方法。
謝謝!
因爲它是onCreate方法之外的.. – Hareesh
請把相關的代碼放在問題本身,不要只是連接到異地。 – EJoshuaS
對不起,我仍然習慣於發佈代碼,我不確定相關與否。我很抱歉。 –