1

ユーザーが特定のアイテムを選択すると、チェックボックスの色が緑色に変わります...チェックボックスの色がオレンジ色または赤色に変わるようにしたい..どうすればよいですか?

4

2 に答える 2

1
<CheckBox android:layout_width="wrap_content"
 android:layout_height="wrap_content" 
 android:text="new checkbox"
 android:background="@drawable/checkbox_background" 
 android:button="@drawable/checkbox" />

@drawable/checkbox は次のようになります。

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">
 <item android:state_checked="true" android:state_focused="true"
  android:drawable="@drawable/checkbox_on_background_focus_red" />
 <item android:state_checked="false" android:state_focused="true"
  android:drawable="@drawable/checkbox_off_background_focus_orange" />
 <item android:state_checked="false"
  android:drawable="@drawable/checkbox_off_background" />
 <item android:state_checked="true"
  android:drawable="@drawable/checkbox_on_background" />
</selector>

checkbox_on_background_focus_red、checkbox_off_background_focus_orang、checkbox_off_background、およびcheckbox_on_backgroundは、ドローブルフォルダーからの目的のチェックボックス画像です

于 2012-06-12T10:59:20.803 に答える
0
1- implement the OncheckedLinstener and notify data set changed to list 
2- put check in getview if(chk.isChecked()){//setBG color green }else {red} 
2- either set the selector to checkbox or change the BG color of chk box in if else in getview

最適化したい場合

タグのチェックボックスを使用してリスト項目の位置を設定し、OncheckedLinstener では、タブからビューから位置を取得し、getFirstVisiblePosition と getLastVisiblePosition、getChildAt(int index) を使用してビューを取得し、それを変更します。

于 2012-06-12T11:01:59.023 に答える