Java 根据微调器中选择的值设置imageView src

Java 根据微调器中选择的值设置imageView src,java,android,spinner,Java,Android,Spinner,我一直在尝试根据从微调器中选择的值设置ImageView(默认为空)。 因此在mainActivity.java中 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); sp_home = (Spinner) findViewById(R.id.sp

我一直在尝试根据从微调器中选择的值设置ImageView(默认为空)。 因此在
mainActivity.java中

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    sp_home = (Spinner) findViewById(R.id.spinner_home_team);
    sp_away = (Spinner) findViewById(R.id.spinner_away_team);


    sp_home.setOnItemSelectedListener(new OnItemSelectedListener() {
        public void onItemSelected(AdapterView<?> arg0, View arg1,
                                   int arg2, long arg3) {
            if (!sp_home.getSelectedItem().toString().equals("Seleziona Squadra")) {
                setTeamLogo(sp_home.getSelectedItem().toString(), "home");
            }
        }

        public void onNothingSelected(AdapterView<?> arg0) {
            // TODO Auto-generated method stub
        }
    });

    sp_away.setOnItemSelectedListener(new OnItemSelectedListener() {
        public void onItemSelected(AdapterView<?> arg0, View arg1,
                                   int arg2, long arg3) {
            if (!sp_away.getSelectedItem().toString().equals("Seleziona Squadra")) {
                setTeamLogo(sp_away.getSelectedItem().toString(), "away");
            }
        }

        public void onNothingSelected(AdapterView<?> arg0) {
            // TODO Auto-generated method stub
        }
    });

}
引发的异常是: android.content.res.Resources$NotFoundException:字符串资源ID#0x0

知道为什么我使用图像的名称而不是变量teamName,那么一切都会完美地工作吗

使用
String.valueOf()

如果您给它传递一个整数,它将尝试查找对应的字符串资源id—它找不到,这是您的错误

查看此帖子:-


您的代码实际上修复了异常,但没有剩余变量为0,似乎忽略了存储在teamName中的值。奇怪的是,如果我在Toast消息中打印teamName的值,它会正确显示。
private void setTeamLogo(String teamName, String home_or_away_team){

    int resId = getResources().getIdentifier(teamName, "drawable", getPackageName());
    Toast.makeText(getBaseContext(), resId,
            Toast.LENGTH_LONG).show();


}