我来自德国(请原谅我破碎的英语),我有一个关于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"/>
答案 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());