2013-04-04 134 views
1

我看着爲複選框的文檔,我看到這兩種方法:如何設置複選框或單選

setEnabled(boolean) 
setSelected(boolean) 

所以,在我的代碼,我把

CheckBox myCB = (CheckBox) findViewById(R.id.CheckBox); 
myCB.setEnabled(true); 
myCB.setSelected(true); 

當我運行代碼,我想讓上面的CheckBox在GUI中被檢查並打開。但事實並非如此。它看起來沒有被選中。我究竟做錯了什麼?

回答

1

改爲使用setChecked(boolean checked)toggle()。看一下CheckBox的javadoc here

請注意,例如,setSelected(boolean selected)是從TextView繼承而來的,用於確定文本的顯示方式,而不是檢查或取消選中CheckBox。

+0

我用setChecked()和那工作。我有個問題。我怎麼能爲自己弄清楚這些事情?在我詢問之前,我確實已經看過CheckBox文檔,並且沒有setChecked()方法。我怎樣才能事先告訴如何做這樣簡單的事情? – 2013-04-04 00:25:39

+0

哦,忘了。謝謝!至少我今天完成了一些事情! – 2013-04-04 00:26:40

+0

嘿@JB_User,不用擔心。 CheckBox繼承自CompoundButton,並且該類定義了setChecked()。您應該瞭解如何通過IDE(Eclipse,或者像我使用的Intellij IDEA)來查看javadoc。這比每次上網和搜索要快得多。通常你只需要點擊方法/字段/類,然後點擊按鍵就可以啓動它。或者,只要確保展開「繼承的方法」部分即可。 CheckBox中默認顯示的唯一方法是該類中定義的方法,而不是它繼承的方法。 – 2013-04-04 00:31:26