【问题标题】:onclicklistener on Dynamic checkbox and check whether checkbox is checked or not动态复选框上的 onclicklistener 并检查复选框是否被选中
【发布时间】:2018-10-14 19:32:15
【问题描述】:

我想在动态checkbox上应用onclicklistener
并检查checkbox 是否为click,然后在ArrayList 中添加getid,如果未选中checkbox,则从ArrayList 中删除getid

for (int i = 0; i < array.length(); i++) {
 //getting product object from json array
 JSONObject product = array.getJSONObject(i);
 cb = new CheckBox(getApplicationContext());
 cb.setText(product.getString("service_name"));
 cb.setId(product.getString("id"));
 cb.setTag(product.getString("id"));
 linearMain.addView(cb);
}


buttons.setOnClickListener(new View.OnClickListener() {
 @Override
 public void onClick(View v) {

  cb.setOnClickListener(new View.OnClickListener() {
   @Override
   public void onClick(View v) {
    if (cb.isChecked()) {
     testoo.add(cb.getId());

    } else {
     testoo.remove(cb.getId()); //checkbox unchecked
    }
   }
  });

 }
});

【问题讨论】:

    标签: android checkbox dynamic onclicklistener


    【解决方案1】:

    有更简单的方法可用,您不必在点击CheckBoxCheckBox 时进行中继。要监听CheckBox 中的更改状态,您可以设置如下所示的监听器。

    cb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                if (isChecked)
                    testoo.add(cb.getId());
                else
                    testoo.remove(cb.getId());
            }
        });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-28
      • 2021-07-16
      • 1970-01-01
      • 2019-07-04
      • 2020-03-01
      • 2018-12-17
      相关资源
      最近更新 更多