如何向“电子邮件”发送复选框值

时间:2016-03-13 15:23:30

标签: android android-checkbox

我来自德国(请原谅我破碎的英语),我有一个关于Android Studio编程的问题。我希望我的应用程序按如下方式操作:如果用户单击复选框,则复选框的名称应发送到电子邮件。我得到它的工作,但我只在我的电子邮件文本中得到“真”或“假”。我想要不是真或假我想要复选框名称(电子邮件中的label.android:text)!

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

2 个答案:

答案 0 :(得分:0)

我认为你应该做的是在你的复选框上添加一个监听器,如

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.");
      }

   }

} );
如果您的要求仍然不匹配,请尝试发布您的代码。

好的,试试这个

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

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);
     }

   }
} );

答案 1 :(得分:0)

试,

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