我有一个待办事项清单,当勾选CheckBox时。我想要CheckBox要更改的ListView行中的颜色。
这是我已经完成的代码,但它不起作用。
public class CheckBoxCheck extends Activity{
CheckBox check;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
check = (CheckBox) findViewById(R.id.checkBox1);
check.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(isChecked){
check.setBackgroundColor(Color.BLUE);
}else{
check.setBackgroundColor(Color.BLACK);
}
}
});
}
}
你能帮忙吗。
答案 0 :(得分:2)
你应该试试这个:
checkBox.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(checkBox.isChecked()) {
listView.setBackgroundColor(Color.parseColor("#008000"));
} else {
listView.setBackgroundColor(Color.parseColor("#FF0000"));
}
}
});
答案 1 :(得分:0)
这应该很简单。该复选框可以关联文本。因此,只需将文本放在复选框中,然后为文本添加一个颜色即可。在选择器xml中,您可以轻松指定正常和已检查状态的颜色。
答案 2 :(得分:0)
我有一个待办事项清单,当勾选CheckBox时。我想要CheckBox要更改的ListView行中的颜色。
您发布的代码未显示任何ListView。这将是第一个问题。
如果您尝试更改列表视图的行颜色,则需要实现为ListView提供的适配器的getView()并更新适当返回的视图。