我想要执行以下操作:当选中 CheckBox 时,会出现 TextView ,然后用户可以放置他需要的任何内容,但问题是我无法获取在 EditText 中写入的文本将其放在 String 变量中,因为它在进入if语句时采用的初始值为“nothing”。有什么帮助吗?
我是这个网站的新手,这是我正在谈论的代码的一部分
SendSMS.setOnCheckedChangeListener(new OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
if (isChecked == true) {
sendText.setVisibility(0);
smstext = sendText.getText().toString();
} else if (isChecked == false) {
sendText.setVisibility(8);
smstext = "";
}
}
});
这里..检查sendms到真的edittext(sendText)后会出现
。 。 。 。 。
这里当用户输入任何文本时我需要将其放入一个字符串(短信)中存储在数据库中,对不起错误
break;
case R.id.SaveImage:
String x = EventName.getText().toString();
if (x.contentEquals("")) {
Toast.makeText(getApplicationContext(), "Enter a Title",
Toast.LENGTH_SHORT).show();
} else {
Intent i = new Intent(getApplicationContext(), Swipe.class);
startActivity(i);
Toast.makeText(getApplicationContext(), "Event saved",
Toast.LENGTH_SHORT).show();
String typename = type;
String name = EventName.getText().toString();
String location = EventLocation.getText().toString();
String dateFrom = DateFrom.getText().toString();
String dateTo = EbDate.getText().toString();
String timeFrom = mPickTime.getText().toString();
String timeTo = EbTime.getText().toString();
String duration = durationresult.getText().toString();
String alarm = alarmresult.getText().toString();
String repeat = repeatresult.getText().toString();
String audios = Audios;
String sms = smstext;
String call = calltext;
mySQLiteAdapter.insert(name, location, dateFrom, dateTo,
timeFrom, timeTo, duration, alarm, repeat, typename,
audios, sms, call);
updateList();
// reset form
EventName.setText(null);
EventLocation.setText(null);
break;
}
}
}
答案 0 :(得分:0)
似乎您设置smstext的唯一时间是复选框的值更改时。用户只能在文本框可见时输入文本,因此当复选框的值发生变化时,逻辑上文本框为空,smstext将始终为null。
你有没有试过这样的事情:
case R.id.SaveImage:
...
String sms = sendText.getText().toString();
...