スピナーの選択に基づいてイメージビューのイメージを変更しようとしていますが、stackoverflow とインターネットでこのようなものを探しましたが、何も機能しません! なんで?どんな助けでも大歓迎です!ここに私の .java ソースがあります:
public class ChordsActivity extends Activity implement OnItemSelectedListener{ Spinner spinner;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_chords);
spinner = (Spinner) findViewById(R.id.SpinnerAkordi);
spinner.setOnItemSelectedListener(this);
ImageView chord_img=(ImageView) findViewById(R.id.image);
chord_img.setImageResource(R.drawable.c_dur);
}
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
int position = spinner.getSelectedItemPosition ();
ImageView chord_img= new ImageView(this); //delete this and it will work
switch (position){
case 0:
new AlertDialog.Builder(this).setTitle("Odabrali ste akord:").setMessage("C").setNeutralButton("Close", null).show();
chord_img.setImageResource(R.drawable.c_dur);
break;
case 1:
new AlertDialog.Builder(this).setTitle("Odabrali ste akord:").setMessage("D").setNeutralButton("Close", null).show();
chord_img.setImageResource(R.drawable.e_dur);
break;
case 2:
new AlertDialog.Builder(this).setTitle("Odabrali ste akord:").setMessage("E").setNeutralButton("Close", null).show();
chord_img.setImageResource(R.drawable.e_dur);
break;
}
}
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
}
および .xml の imageview 部分:
回答: 削除: ImageView chord_img= new ImageView(this); これは、すでにイメージビューがあり、この行で表示されていない新しいイメージビューを作成したためです。