我有我在「主」 XML文件中聲明的自定義視圖的方法,接受空指針異常:從類對象
<com.app.DrawView
android:id="@+id/my_view"
android:layout_height="match_parent"
android:layout_width="match_parent" />
在我活動的onCreate方法
然後:
setContentView(R.layout.main);
所有作品罰款顯示自定義視圖。但我需要做的是將值傳遞給自定義視圖。所以,我試圖使自定義視圖類的一個實例:
DrawView drawView = (DrawView) findViewById(R.id.my_view);
然後,在drawView函數類,我創建了一個方法:
public void setUserData(boolean data){
useEraser = data;
}
現在,我的問題是什麼,我總是收到NullPointerExeption當試圖訪問該方法的drawView函數對象我的活動範圍內,像這樣:
boolean value = true;
drawView.setUserData(value);
錯誤指向「drawView.setUserData(值)」行。我究竟做錯了什麼?我知道我一定犯了一個簡單的錯誤,但是它讓我瘋狂地試圖找到它。任何幫助或建議都會很棒!
編輯:我接受了一個正常工作的答案,但是,我仍然想知道爲什麼我的原始解決方案不起作用。所以,我發現,儘管我在這個問題正確的排序,它的事實,我把
DrawView drawView = (DrawView)findViewById(R.id.my_view);
setContentView(R.layout.main);
之前,我知道這是一個簡單的錯誤,我眺望!感謝大家感謝的答案。我希望這證明對任何面臨類似問題的人都有用。
在我看來像drawView爲null。你調試了findViewById嗎? – RNJ
也許你偶然導入了錯誤的R,所以你得到了android.R而不是你的.package.R? – span
drawView返回null,因此必須是我收到空指針異常的原因。只是我不太清楚爲什麼它返回null – chRyNaN