Disabilita la casella di controllo dopo aver controllato, Android
-
12-12-2019 - |
Domanda
Voglio ottenere questo: controllare l'utente su una casella di controllo Deselezionata, un pane tostato visualizzato, la casella di controllo diventa disabilita ..
male.setOnCheckedChangeListener(new OnCheckedChangeListener(){
@Override
public void onCheckedChanged(CompoundButton arg0, boolean isChecked) {
// TODO Auto-generated method stub
if (isChecked){
Toast.makeText(CheckBoxTuts.this, "male" , Toast.LENGTH_SHORT).show();
male.setChecked(false);
}
}
});
.
L'uscita non è riuscita, poiché vengono eseguiti allo stesso tempo, anche io metto il maschio. Cometchecked (falso) all'esterno .. Non riesco a ricordare che c'è qualcosa da gestire qualcosa del 1 °, allora un'altra cosa ..davvero non posso ricordare
Soluzione
Se si desidera ottenere: "Controllo dell'utente su una casella di controllo Deselezionata, un pane tostato visualizzato, la casella di controllo diventa disabilita ..", dovresti provare questo codice:
male.setOnCheckedChangeListener(new OnCheckedChangeListener(){
@Override
public void onCheckedChanged(CompoundButton arg0, boolean isChecked) {
if (isChecked){
Toast.makeText(CheckBoxTuts.this, "male" , Toast.LENGTH_SHORT).show();
male.setEnabled(false); // disable checkbox
}
}
});
. Altri suggerimenti
Prova questo ....
- Utilizzare il setEnabled(false)
sul CheckBox
male.setOnCheckedChangeListener(new OnCheckedChangeListener(){
@Override
public void onCheckedChanged(CompoundButton arg0, boolean isChecked) {
if (isChecked){
Toast.makeText(CheckBoxTuts.this, "male" , Toast.LENGTH_SHORT).show();
male.setEnabled(false); // Will Disable checkbox
}
}
});
. male.setOnCheckedChangeListener(new OnCheckedChangeListener(){
@Override
public void onCheckedChanged(CompoundButton arg0, boolean isChecked) {
// TODO Auto-generated method stub
if (isChecked){
Toast.makeText(CheckBoxTuts.this, "male" , Toast.LENGTH_SHORT).show();
//male.setVisibility(View.GONE);//disappear your check box
male.setEnabled(false);//disable your check box
}
}
});
. Prova a utilizzare .onClickListener(View.OnClickListener)
con View.OnClickListener
implementato.Nel corpo del metodo implementato, controllerai se la casella di controllo è selezionata o non impostarli.
In primo luogo, registra la casella di controllo su OnCheckeckedChangelistener.
chk.setOnCheckedChangeListener(this);
.
Quindi, sostituisce il suo metodo
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b)
{
if (chk.isChecked())
{
chk.setEnabled(false);
}
}
.