標籤:
checkbox點擊切換背景
|
<CheckBox
android:id="@+id/checkbox"
android:layout_width="40dp"
android:layout_height="40dp"
android:button="@null"
android:focusable="false"
android:background="@drawable/playimage" /> |
|
| |
|
drawable檔案夾下切換背景
/Day07_music/res/drawable/playimage.xml
|
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_selected="true" android:drawable="@drawable/pause"></item>
<item android:state_checked="true" android:drawable="@drawable/pause"></item>
<item android:state_pressed="true" android:drawable="@drawable/pause"></item>
<item android:drawable="@drawable/forward"></item>
</selector> |
|
| |
|
適配器下面找到checkbox
在list集合裡設定 一個 boolean 值 記錄選中狀態
在適配器下對checkbox進行監聽
解釋:通過setOnCheckedChangeListener監聽選項組 然後通過setOnClickListener判斷目前狀態進行操作 避免因為滑動listview介面導致checkbox值改變,也就是說checkbox值是使用者點擊而改變避免滑動listview介面自動改變
|
holder.check.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//得到目前狀態
boolean check = list.get(position).isCheck();
if (check) {//判斷狀態
// 選中時要執行的操作
} else {
// 沒選中時要執行的操作
}
//重新整理適配器
notifyDataSetChanged();
}
});
holder.check.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
//選項組
list.get(position).setCheck(isChecked);
}
});
//當前checkbox狀態
holder.check.setChecked(list.get(position).isCheck()); |
|
| |
|
listview中item 有checkbox多選防止滑動 listview頁面 出現checkbox錯位問題