2015-04-06 33 views
0

J'ai travaillé pendant longtemps sur ce problème. Je veux afficher un bouton si CheckBox est cochée. J'ai CheckBoxes dans le nombre de colonnes dans ma base de données. Et si la case n'est pas cochée je veux cacher ce bouton. Je vois dans ce forum de cette façon, mais ça ne fonctionnait pas dans mon programme.Android Si CheckBox vérifié spectacle Bouton ne fonctionne pas

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

Et mon programme montre:

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

} 

Répondre

1

pour le contrôle de contrôle de case à cocher et décocher l'état, vous devez utiliser:

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

    } 
});