単純な if ステートメントに問題があり、その理由がよくわかりません。ユーザーが編集テキストに値を入力してからボタンを押すと、ボックスに入力されたものはすべて文字列に変換されて変数に格納され、この変数はトーストに表示されます. これはそのままで問題なく動作しますが、特定の値が編集ボックスに入力された場合にのみ表示したいのですが、これを検証するために if ステートメントを入れると、if ステートメントを完全に無視して何もしません。エラーは発生しませんが、正しい文字列が入力されていても、トーストが表示されなくなります。これは簡単なことだと思いますが、うまくいかないようです。誰かがなぜこれを行うのかを理解できれば素晴らしいでしょう。
以下のコード:
if ステートメントがコメントアウトされている場合の作業コード:
saveBtn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Global.controlNum = inputTxt1.getText().toString();
// if((Global.controlNum == "1")||(Global.controlNum == "2" )){
Toast toast= Toast.makeText(SettingsScreen.this,"hello " + Global.controlNum, Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER, 0, -100);
toast.show();
// }
}
});
if ステートメントが持ち込まれた場合、何もしません。
saveBtn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Global.controlNum = inputTxt1.getText().toString();
if((Global.controlNum == "1")||(Global.controlNum == "2" )){
Toast toast= Toast.makeText(SettingsScreen.this,"hello " + Global.controlNum, Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER, 0, -100);
toast.show();
}
}
});