【问题标题】:When CheckBox is checked change the text color in ListView row选中 CheckBox 时,更改 ListView 行中的文本颜色
【发布时间】:2014-03-06 22:02:16
【问题描述】:

我有一个待办事项列表,并且勾选了复选框。我想要更改 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);
        }

    }
});

}
 }

你能帮忙吗?

【问题讨论】:

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


    【解决方案1】:

    你应该试试这个:

    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"));
                    }
                }
            });
    

    【讨论】:

      【解决方案2】:

      我有一个待办事项列表,并且勾选了复选框。我想要更改 CheckBox 的 ListView 行中的颜色。

      您发布的代码未显示任何 ListView。所以这将是第一个问题。

      如果您尝试更改列表视图的行颜色,则需要实现为 ListView 提供数据的适配器的 getView() 并适当地更新返回的视图。

      【讨论】:

        【解决方案3】:

        这应该很容易。复选框可以关联文本。因此,只需将文本放在复选框中,并为文本指定颜色,即 .在选择器 xml 中,您可以轻松指定正常和选中状态的颜色。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2023-04-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多