2013-08-20 9 views
33

Ho una casella di controllo in Android, che ha il seguente codice XML:Come verificare se la casella di controllo di Android è selezionata all'interno del suo metodo onClick (dichiarato in XML)?

<CheckBox 
    android:id="@+id/item_check" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:onClick="itemClicked" /> 

Questo è il mio metodo onClick() nella mia classe di attività.

public void itemClicked(View v) { 
    //code to check if this checkbox is checked! 
} 

Sono consapevole che siamo in grado di creare un oggetto della casella di controllo e assegnargli l'id. Ma esiste un modo migliore per ottenere la funzionalità quando si dichiara il metodo onClick tramite XML?

+6

((checkbox) v) .isChecked(); – Pavlos

risposta

70

provare questo:

public void itemClicked(View v) { 
    //code to check if this checkbox is checked! 
    CheckBox checkBox = (CheckBox)v; 
    if(checkBox.isChecked()){ 

    } 
} 
5

Questo farà il trucco:

public void itemClicked(View v) { 
    if (((CheckBox) v).isChecked()) { 
     Toast.makeText(MyAndroidAppActivity.this, 
      "Checked", Toast.LENGTH_LONG).show(); 
    } 
    } 
3

Si può provare questo codice:

public void itemClicked(View v) { 
//code to check if this checkbox is checked! 
if(((Checkbox)v).isChecked()){ 
    // code inside if 
} 
} 
3
enter code here 

<CheckBox 
     android:id="@+id/checkBox1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Fees Paid Rs100:" 
     android:textColor="#276ca4" 
     android:checked="false" 
     android:onClick="checkbox_clicked" /> 

attività principale da qui

public class RegistA extends Activity { 
CheckBox fee_checkbox; 
@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_regist); 
fee_checkbox = (CheckBox)findViewById(R.id.checkBox1);// Fee Payment Check box 
} 

casella di controllo // cliccato

 public void checkbox_clicked(View v) 
    { 

     if(fee_checkbox.isChecked()) 
     { 
      // true,do the task 

     } 
     else 
     { 

     } 

    } 
Problemi correlati