我嘗試更改複選框用戶將其狀態更改爲後的背景選中。下面的代碼不能很好地工作。如果我點擊未選中的複選框,它的狀態和顏色變爲藍色,當我再次單擊它並取消選中時,顏色保持藍色而不是變爲紅色。我確實介紹了致電無效()沒有成功。我確認方法recievies點擊並正確地看到檢查狀態,但如果聲明我所做的似乎只工作一次。無法更改CheckBox視圖的背景顏色兩次 - Android
XML
<CheckBox
android:id="@+id/chkLargeIcons"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="20"
android:onClick="handleCheckBoxClick" />
代碼
public void handleCheckBoxClick(View view) {
CheckBox tmpChkBox = (CheckBox) findViewById(view.getId());
if(tmpChkBox.isChecked())
{
tmpChkBox.setBackgroundColor(color.blue);
}
else
{
tmpChkBox.setBackgroundColor(color.red);
}
System.out.println(view.getId() + " " + tmpChkBox.isChecked());
switch (view.getId()) {
case R.id.chkLargeIcons:
...
break;
...
}
...
}
我應該在我的代碼改變什麼,使其工作,因爲我想要的嗎?
在此先感謝您的任何幫助和建議。
你把這段代碼放在哪裏? – 2013-02-11 19:17:07
@JustinJasmann我有多個複選框,爲此我指定了相同的「OnClick」方法,此代碼位於此方法內部,並且由於System.out.println應輸出內容,因此複選框的視覺狀態在一兩次後保持不變點擊 – MoreThanChaos 2013-02-11 20:07:13
你可以發佈更多的代碼來顯示你在這個監聽器中的位置嗎? – 2013-02-11 21:15:47