2013-08-20 7 views
33

Ich habe eine Checkbox in Android, die folgende XML hat:Wie überprüft man, ob Android-Checkbox innerhalb seiner onClick-Methode (in XML deklariert) aktiviert ist?

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

Das ist mein onClick() -Methode in meiner Aktivitätsklasse.

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

Ich bin mir bewusst, dass wir ein Objekt des Kontrollkästchens erstellen und ID zuweisen können. Aber gibt es einen besseren Weg, die Funktionalität zu erreichen, wenn man die Methode onClick über XML deklariert?

+6

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

Antwort

70

versuchen diese:

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

    } 
} 
5

Dieser den Trick tun:

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

Sie diesen Code versuchen:

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" /> 

Hauptaktivität von hier

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 
} 

// Kontrollkästchen angeklickt

 public void checkbox_clicked(View v) 
    { 

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

     } 
     else 
     { 

     } 

    } 
Verwandte Themen