#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"))