2015-04-06 297 views
0

我在这个问题上工作了很长时间。 如果勾选CheckBox,我想显示一个按钮。我有我的数据库中的列数的CheckBoxes。如果复选框未选中,我想隐藏此按钮。 我在这个论坛中看到这种方式,但它在我的程序中没有正确的工作。Android如果复选框选中显示按钮不工作

 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

检查复选框选中或取消选中状态,你应该使用:

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

    } 
}); 
相关问题