onListItemClick을 사용하여 리스트 터치시, 리스트에 뿌려준 배열을 position으로 참조하여

TextView에 "배열[position]"을 출력하는 예제는 쉽게 따라했는데요

 

살짝 바꿔서 TextView가 아닌 ImageView의 Resource을 수정하려 합니다.

 public void onListItemClick(ListView parent, View v, int position, long id){
  seat = (ImageView)findViewById(R.id.open);
  if(position==1)
   seat.setImageResource(R.drawable.basic);
  if(position==2)
   seat.setImageResource(R.drawable.test1);
  if(position==3)
   seat.setImageResource(R.drawable.test2);
  if(position==4)
   seat.setImageResource(R.drawable.test3);
    }

이런식으로 소스를 구현하였는데 처음 실행 후 터치를 하였을땐 이미지가 잘 바뀌었는데

이미지가 바뀐 후 또 다른 row를 터치시 에러가 발생합니다.

 

 

'무작정 따라하기 + 응용' 식으로 공부하는 방식의 한계점이네요... 구조부터 깊이 파야하는지 ㅠ

drawable에 png파일은 잘 있구요, id도 open 맞구요, position 값도 원하는 row에 맞구요,

왜 에러가 발생할까요?

 

고수님들 부탁드립니다!!(__)