2016-03-13 1 views
-1

Je suis d'Allemagne (excusez mon anglais cassé) et j'ai une question sur la programmation Android Studio. Je souhaite que mon application agisse comme suit: Si un utilisateur clique sur une case à cocher, le nom de la case à cocher doit être envoyé à un e-mail. Je l'ai fait fonctionner mais je reçois seulement "vrai" ou "faux" dans mon email. Je ne veux pas Vrai ou Faux Je veux la case à cocher Nom (label.android:text dans l'Email)!Comment puis-je envoyer une valeur checkbox à Email

MAIN ACTIVITY.java:

public void onClick(View v) { 

    String str=""; 
    if (checkBox1.isChecked()) { 

     str =checkBox1.getText().toString()+"TEST"; 

    } else { 

     checkBox1.setEnabled(false); 
     emailIntent.putExtra(Intent.EXTRA_TEXT, "+ "\n Fehler: " + checkBox1.getText().toString(); 

    } 
} 

XML:

<CheckBox 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="5sp" 
     android:text="@string/Checkbox1" 
     android:id="@+id/checkBox1" 
     android:layout_row="0" 
     android:layout_column="0"/> 
+0

Ensuite, utilisez '' gettext' au lieu de isSelected'? Ou ajoutez votre code à votre question en utilisant le lien d'édition entre les commentaires ici et votre question –

+0

Contrôlez si le CheckBox est coché. Si c'est vrai, vous pouvez retourner toutes les chaînes que vous voulez. – Dario

+0

pourriez-vous s'il vous plaît montrer un exemple en utilisant mon code posté ?? – Chris

Répondre

0

Ce que je pense que vous devriez faire est d'ajouter un écouteur sur votre case à cocher comme

checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { 

    @Override 
    public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) { 
    // Here if the checkBox is checked you can set Email text 
    if(isChecked){ 
     txt.setText("Whatever text you want."); 
     } 

    } 

} );
Si vos besoins ne correspondent toujours pas, essayez de poster votre code.

Ok essayer

XML:

<CheckBox 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="5sp" 
    android:text="@string/Checkbox1" 
    android:id="@+id/checkBox1" 
    android:layout_row="0" 
    android:layout_column="0"/> 

code Java:

checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { 

    @Override 
    public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) { 
    // Here if the checkBox is checked you can set Email text 
    if(isChecked){ 
     String str = "Name of checkbox TEST"; 
     } 
    else{ 
     checkBox.setEnabled(false); 
    } 

    } 
}); 
+0

OK désolé mon explication n'était pas assez précise et je l'essaie à nouveau. Quand un utilisateur clique la case, et envoie le courrier, je reçois le texte suivant dans mon email "Schelchtes Druckbild: true". Si la case à cocher n'a pas été cliquée et que l'utilisateur envoie son courrier, j'obtiens le texte suivant dans mon "Schelchtes Druckbild: false". Ce que je veux, c'est qu'au lieu de vrai ou de faux, il me montre un texte comme "Ja" ou "Nein". – Chris

+0

Y at-il un bouton sur lequel votre utilisateur appuie pour envoyer l'e-mail? –

+1

S'il y a un bouton alors à l'intérieur de la méthode OnClick de ce bouton, vous pouvez faire si (cb.isChecked) {String str = "ja"} else {str = "Nein"} et vous pouvez envoyer la chaîne à l'intention. –

0

essayer,

emailIntent.putExtra(Intent.EXTRA_TEXT, checkBox1.getText().toString()+":"+checkBox1.isChecked()); 
+0

Désolé ne fonctionne pas mais merci beaucoup beaucoup J'aime Forum :) Salutations de l'Allemagne. Avoir quelqu'un une idée – Chris