установить ресурс изображения и проблему if-else

#if-statement #android-imageview

#инструкция if #android-просмотр изображений

Вопрос:

Я пытаюсь изменить изображение, отображаемое в ImageView, в соответствии со строкой в TextView (извините меня за вложенные операторы if-else). В тестах, которые я запустил, даже несмотря на то, что значение st1 равно «HKD», флаговое имя, которое передается из вложенного if-else, по-прежнему является «@drawable/foreign_exchange».

Кажется, я не могу найти проблему. Любая помощь будет высоко оценена. Спасибо.

     EditText etCurrency = findViewById(R.id.editTextCurrency);
    String st1 = etCurrency.getText().toString();

    if (st1=="HKD"){
        flagName = "@drawable/flag_hong_kong";
    }else if(st1=="IDR"){
        flagName = "@drawable/flag_indonesia";
    }else if(st1=="JPY"){
        flagName = "@drawable/flag_japan";
    }else if(st1=="KRW"){
        flagName = "@drawable/flag_south_korea";
    }else if(st1=="MYR"){
        flagName = "@drawable/flag_malaysia";
    }else if(st1=="NZD"){
        flagName = "@drawable/flag_new_zealand";
    }else if(st1=="PHP"){
        flagName = "@drawable/flag_philippines";
    }else if(st1=="THB"){
        flagName = "@drawable/flag_thailand";
    }else if(st1=="TWD"){
        flagName = "@drawable/flag_taiwan";
    }else flagName = "@drawable/foreign_exchange";

    int imageResource = getResources().getIdentifier(flagName,null,this.getPackageName());
    imageView.setImageResource(imageResource);
  

Ответ №1:

используйте .equals вместо ==

 if (st1.equals("HKD"))