Comment vérifier si la case à cocher android est cochée dans sa méthode onClick (déclarée en XML)?
j'ai une case à cocher dans android qui a le XML suivant:
<CheckBox
android:id="@+id/item_check"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="itemClicked" />
c'est ma méthode onClick() dans ma classe D'activité.
public void itemClicked(View v) {
//code to check if this checkbox is checked!
}
je suis conscient que l'on peut créer un objet de la case et assigner un id. Mais y a-t-il un meilleur moyen d'atteindre la fonctionnalité en déclarant onClick
méthode par XML?
40
demandé sur
ישו אוהב אותך
2013-08-20 17:19:33
5 réponses
essayez celui-ci :
public void itemClicked(View v) {
//code to check if this checkbox is checked!
CheckBox checkBox = (CheckBox)v;
if(checkBox.isChecked()){
}
}
80
répondu
Anand
2016-12-20 10:08:07
Cela va faire l'affaire:
public void itemClicked(View v) {
if (((CheckBox) v).isChecked()) {
Toast.makeText(MyAndroidAppActivity.this,
"Checked", Toast.LENGTH_LONG).show();
}
}
5
répondu
Sami Eltamawy
2013-08-20 13:24:27
Vous pouvez essayer ce code:
public void itemClicked(View v) {
//code to check if this checkbox is checked!
if(((Checkbox)v).isChecked()){
// code inside if
}
}
4
répondu
Kishita
2015-07-16 08:35:04
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" />
l'Activité Principale de ici
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
}
//case à cocher cliqué
public void checkbox_clicked(View v)
{
if(fee_checkbox.isChecked())
{
// true,do the task
}
else
{
}
}
3
répondu
vbijoor
2016-12-09 11:10:03
@BindView(R.id.checkbox_id) // if you are using Butterknife
CheckBox yourCheckBox;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.your_activity);
yourCheckBox = (CheckBox)findViewById(R.id.checkbox_id);// If your are not using Butterknife (the traditional way)
yourCheckBox.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
yourObject.setYourProperty(yourCheckBox.isChecked()); //yourCheckBox.isChecked() is the method to know if the checkBox is checked
Log.d(TAG, "onClick: yourCheckBox = " + yourObject.getYourProperty() );
}
});
}
évidemment vous devez faire votre XML avec l'id de votre case à cocher:
<CheckBox
android:id="@+id/checkbox_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Your label"
/>
Donc, la méthode pour savoir si la case est cochée est : (CheckBox) yourCheckBox.isChecked()
retourne true
si la case est cochée.
0
répondu
Nicoolasens
2018-07-03 12:06:02