转载请注明出处https://mp.csdn.net/mdeditor/103235518
Listview点击item切换item中自定义复选框的背景颜色
默认选中item多个被选状态
话不多说直接上代码
//在adapter中传入listview控件quest_option_listview,isSelected全局变量 当在fragment中初始化时设为true
if (isSelected) {
List<MulitAnswerResult> savedAnswer = ResultTable.getMulitAnswer(questionBean.getID(), resultID, context);
OptionBean optionBean = (OptionBean) getItem(position);
int id = optionBean.getID();
if (savedAnswer != null ) {
for (MulitAnswerResult result : savedAnswer) {
int optionID = result.getOptionID();
if (optionID == id) {
quest_option_listview.setItemChecked(position,true);
changeBG(viewHolder,position);
}else{
//自行判断是否选中
changeBG(viewHolder, position);
}
}
}
} else {
boolean itemChecked = quest_option_listview.isItemChecked(position);
changeBG(viewHolder, position);
}
//切换背景颜色 自定义shape
private void changeBG(ViewHolder viewHolder, int position) {
boolean checked = quest_option_listview.isItemChecked(position);
if (checked) {
viewHolder.ctx.setBackgroundResource