2011-04-10 67 views
0

感謝您的關注。res.getIdentifier中的NullPointerException

我正試圖拼湊一個簡單的動態壁紙,並嘗試不同的方法來優化它的速度。儘管如此,我還是有點笨拙,所以請原諒這個問題的簡單性。

我試圖通過抓住resourceIds

private Resources res; 
private int[] resID; 
resID[0] = res.getIdentifier("n01","drawable",getPackageName()); 

現在我有(這種代碼在類CubeEngine(),正如你能猜到我只是工作直客立方演示運行)我想加載11張圖片,所以我有10個最後一行。我知道我可以循環它,但是我想盡可能簡單地在第一回閤中使用它。問題是這會在執行時返回NullPointerException。所討論的圖像(一個或多個)是在res /抽拉,我已經沒有任何麻煩之前直接訪問它們,如

resBMP = BitmapFactory.decodeResources(res, R.drawable.n01); 

例如。我猜測有一些簡單的事情,我錯過了這個工作。我幾乎每天都會在MATLAB上花費時間,但多年以來一直沒有用過像java這樣的語言,所以即使語法錯誤這樣簡單的事情也不要忽視它,不要猶豫要告訴我!

Ernest的評論立即解決了問題。

回答

1

你是否在某處分配了resID(resID = new int[10])?如果NullPointerException在該行上,則resID或res爲null。

+0

不,我沒有,而且你的建議很誇張。我假設java可以根據需要增長數組,但是這只是我的MATLAB正在講話! – 2011-04-10 14:06:28

+0

很高興提供幫助。請投我的答案,並「接受」它! – 2011-04-10 14:50:03

+1

@Sean:如果你想要那樣的東西,請參閱例如'ArrayList'。 – bigstones 2011-04-10 14:53:21