Android如果检查CheckBox显示按钮不起作用

时间:2015-04-06 16:50:53

标签: android sqlite button dynamic checkbox

我已经在这个问题上工作了很长时间。 如果选中CheckBox,我想显示一个Button。我的数据库中有多少列的CheckBoxes。如果取消选中复选框,我想隐藏此按钮。 我在这个论坛中看到了这种方式,但它在我的程序中没有用。

        btn.setVisibility(View.GONE); 
        btn.setVisibility(View.VISIBLE);

我的节目显示:

    private void AddColum(int count) {
    final LinearLayout ll = (LinearLayout)findViewById(R.id.ListLayout);
    for(int i=1; i<=count; i++) {
        final int id_ = createCheckBox(i, ll);
        CheckBox checkbox = (CheckBox) findViewById(id_);
        final IsCheck check = new IsCheck();
        checkbox.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                Button open = createButton(id_,ll);
                    if (check.getCheck()) {
                        open.setVisibility(View.VISIBLE);
                        open.setText("Ac");
                        open.setOnClickListener(new View.OnClickListener() {
                            public void onClick(View view) {
                                Intent myIntent = new Intent(ListActivity.this, ShowActivity.class);
                                myIntent.putExtra("ID", id_);
                                ListActivity.this.startActivity(myIntent);

                            }
                        });
                        check.setCheck(false);
                    } else {
                        open.setVisibility(View.GONE);
                        check.setCheck(true);
                    }
                }
        });
    }

}

1 个答案:

答案 0 :(得分:1)

对于Check复选框检查和取消选中状态,您应该使用:

CheckBox check = findViewById(R.id.sprint_checkbox);
check.setOnCheckedChangeListener(new OnCheckedChangeListener() {

@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {      
        if(isChecked){
                btn.setVisibility(View.VISIBLE);    
         }else{
                btn.setVisibility(View.GONE);    
         }

    }
});