从if语句中的EditText获取字符串值

时间:2012-06-30 14:34:02

标签: android if-statement android-edittext

我想要执行以下操作:当选中 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;
        }
    }
}

1 个答案:

答案 0 :(得分:0)

似乎您设置smstext的唯一时间是复选框的值更改时。用户只能在文本框可见时输入文本,因此当复选框的值发生变化时,逻辑上文本框为空,smstext将始终为null。

你有没有试过这样的事情:

case R.id.SaveImage:
        ...
        String sms = sendText.getText().toString();
        ...