2017-12-22 9 views
1

회 전자에서 선택한 값을 기준으로 ImageView (기본값은 비어 있음)를 설정하려고했습니다. 는 그래서 mainActivity.javaSpinner에서 선택한 값을 기준으로 imageView src를 설정하십시오.

@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 
     } 
    }); 

} 

setOnItemSelectedListener 방법은 내가 setTeamLogo 내부의 코드를 실행할 때 문제가 온다 완벽하게 작동합니다. 발생 된

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(); 


} 

는 예외입니다 : android.content.res.Resources $ NotFoundException : 문자열 리소스 ID 번호 0x0으로

어떤 생각을 왜 변수 대신 이미지의 이름을 사용하는 경우 teamName 모든 것이 완벽하게 작동합니까? 그것을 찾을 수없는, 당신의 오류 - 당신은 그것을는 해당 문자열 리소스 ID를 찾기 위해 노력할 것입니다 정수를 전달하면

답변