重複の可能性:
Java で文字列を比較するにはどうすればよいですか?
if
sendMessageの最初の (他のものと同じ) が真にならない理由がわかりません。レシーバー文字列は、まさに真であるべきものです?!
これを実行してアリスに送信を押すと、3 つのトーストが表示されます。
- Alice に送信 (=受信者の値)
- [空白のトースト] (= phoneNumber の値)
メッセージを選択する必要があります (=気にしないでください!)
public void onSend(View src){ Button b = (Button)src; sendMessage(b.getText().toString()); } public void sendMessage(String reciever){ String phoneNumber = ""; Toast.makeText(this, reciever, Toast.LENGTH_LONG).show(); if (reciever == "Send to Alice"){ phoneNumber = "01230340645"; Toast.makeText(this, "hej", Toast.LENGTH_LONG).show(); } else if (reciever == "Send to Bob"){ phoneNumber = "020312039"; } else if (reciever == "Send to John"){ phoneNumber = "0102308013"; } Toast.makeText(this, phoneNumber, Toast.LENGTH_LONG).show(); if (_message == ""){ Toast.makeText(this, "You have to choose a message!", Toast.LENGTH_LONG).show(); } else { Intent sms = new Intent(Intent.ACTION_SENDTO, Uri.parse("sms:" + phoneNumber)); sms.putExtra("sms_body", _message); startActivity(sms); _message = ""; } }