设置图像资源和if-else问题

问题描述 投票:0回答:1

我试图根据TextView中的字符串更改ImageView中显示的图像(对于嵌套的if-else语句,请原谅)。在我运行的测试中,即使st1的值是“HKD”,从嵌套的if-else传出的flagName仍然是“@ 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);
if-statement android-imageview
1个回答
0
投票

使用.equals而不是==

if (st1.equals("HKD"))
© www.soinside.com 2019 - 2024. All rights reserved.