选中CheckBox时,更改ListView行中的文本颜色

时间:2014-02-09 17:41:14

标签: java android eclipse android-listview android-checkbox

我有一个待办事项清单,当勾选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);
        }

    }
});

}
 }

你能帮忙吗。

3 个答案:

答案 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()并更新适当返回的视图。