2013-06-20 11 views
1

click.I에서 목록 항목의 이미지를 변경하려고합니다.보기를 사용해 보았지만 한 번 클릭해도 변경된 이미지가있는 여러 항목이 나타납니다. simplecursor 어댑터를 사용하고 코드는 다음 질문과 동일합니다. - changing image on listview at runtime in android.클릭하면 목록보기 항목의 이미지가 바뀝니다

또한 맞춤 어댑터를 사용하고 싶지 않습니다. 간단한 어댑터만으로도이 문제를 해결할 수 있다면 도움이 될 것입니다.

현재 코드

@Override 
    protected void onListItemClick(ListView l, View v, int position, long id) { 
     // TODO Auto-generated method stub 

     /* 
     imageView=(ImageView)l.getChildAt(position).findViewById(R.id.PlayPause); 


     imageView.setImageResource(R.drawable.pause); 

     */ 
} 
+0

당신은'할 필요가 이미지 뷰 ivImage = (이미지 뷰) v.findViewById (R.id.PlayPause)' 'ivImage.setImageResource (R.drawable.pause) 나는 ListItemClick 그러나 그것의 불가능에 사용하고' –

답변

0
+0

이것을 사용하여 단 하나의 항목의 이미지를 변경하십시오. 그래서 나는 대안을 찾고 있습니다. –

+0

v.findById (R.id.PlayPause);를 사용해야합니다. l.getChildAt (position) .findViewById (R.id.PlayPause)보다; 내 opinon에서 – Romain

+0

나는 그것을 시도했지만 그것은 또한 다른 여러 항목의 이미지를 변경합니다. –

1

1- u는 직접 "보기 V"와 같이 아이 뷰를 얻는 경우에 아이를 얻을 사용하지 마십시오 사용 그 사건.

2 일단 새 배경 리소스를 설정하면 뷰에서 invalidate() 메서드를 호출하면됩니다.

@Override 
protected void onListItemClick(ListView l, View v, int position, long id) { 

    imageView=((ImageView)v) 

    imageView.setImageResource(R.drawable.pause); 

    imageView.invalidate(); 

}

당신이 ---- 이미지 뷰와 간단한 커서 어댑터를 사용하여 목록을해야하지만 -

http://thinkandroid.wordpress.com/2010/01/09/simplecursoradapters-and-listviews/

은이 링크를 참조하십시오.

+0

이미지보기에서 ClassCastException 오류가 표시됩니다. = ((ImageView) v) –

관련 문제