2012-08-10 60 views
0

嘗試設置要檢查的CheckBox時出現空指針異常。我的代碼嘗試設置要檢查的「CheckBox」時出現空指針異常

例子:

CheckBox something; 
something.setChecked(true); 

我到底做錯了什麼?

+4

你知道初始化和聲明一個變量之間的區別? – tolgap 2012-08-10 15:07:56

+2

嗯,你告訴應用程序「嘿,我想要一個CheckBox」,然後我將它稱爲「某些東西」,然後嘗試改變「某些東西」而不告訴它「CheckBox」是什麼東西!我的'CheckBox'?你的XML中定義的checkBox1,checkBox2或checkBox3?一個全新的CheckBox? – Mxyk 2012-08-10 15:17:49

回答

3

那是因爲你沒有正確實例化CheckBox對象。

如果你的CheckBox是在一個XML文件,你可以這樣做:

something = (CheckBox)findViewById(R.id.idofYourCheckbox); 

如果不只是做:

something = new CheckBox(Context ct); 

See this for more info.

7

這是因爲你的東西對象沒有初始化。

CheckBox something = new CheckBox(); 

初始化它然後使用

something.setChecked(true); 
3

它,因爲,你只是宣佈CheckBox something;對象,未初始化它

初始化它像,

CheckBox something = new CheckBox(this); // here 'this' is an activity context 

或者,

something = (CheckBox)findViewById(R.id.checkbox); // This is from XML file 
相關問題