-4

私は次のことをしたい: CheckBoxがチェックされると、TextViewが表示され、ユーザーは必要なものを何でも入れることができますが、問題は、EditTextに書かれたテキストを文字列変数に入れることができないことです。 if文に入ると「無」になる初期値。何か助けはありますか?

私はこのウェブサイトの初心者です。ここに私が話しているコードの一部があります

   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 = "";
            }

        }
    });

here .. sendmsをtrueにチェックした後、edittext(sendText)が表示されます

. . . . . .

ここで、ユーザーがテキストを入力すると、データベースに保存される文字列 (sms) に入力する必要があります。間違いを犯して申し訳ありません

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

1 に答える 1

0

smstext を設定しているのは、チェックボックスの値が変更されたときだけのようです。ユーザーはテキストボックスが表示されている場合にのみテキストを入力できるため、チェックボックスの値が変更されると、論理的にテキストボックスは空になり、smstext は常に null になります。

次のようなことを試しましたか:

case R.id.SaveImage:
        ...
        String sms = sendText.getText().toString();
        ...
于 2012-07-01T15:16:06.353 に答える