2013-10-10 4 views
3

내 응용 프로그램에서 단추와 ImageView 있습니다.동적으로 단추에 Imageview 변경

여기 내가 버튼을 누르면 ImageView을 변경하려고합니다. Drawable 폴더에 5 개의 이미지가 있습니다. 버튼을 누를 때 ImageView는 버튼 클릭에 따라 이미지를 하나씩 변경합니다. 나는 해결책을 원해.

누구에게나 감사드립니다.

+0

코드가 있습니까? –

답변

3

이미지 ID의 배열을 유지하고 onClick 내부에서 배열의 ID를 사용하여 이미지를 설정 한 다음 색인을 증가시킵니다.

예 - @Nizam로서

ArrayList<Integer> ids=new ArrayList<Integer>(); 
     ids.add(R.drawable.image1); 
     ids.add(R.drawable.image2); 
     ids.add(R.drawable.image3); 
     ids.add(R.drawable.image4); 
     ids.add(R.drawable.image5); 
Int index=0 
     b.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
if(index<ids.size()){ 
     imageview.setImageResource(ids.get(index)); 
     index++; 
    } 
else index=0; 
} 
}); 
+0

작동 중 ... 감사합니다 .... –

+0

안녕하세요. 참고로 'else'부분을 필요에 맞게 수정해야합니다. – Nizam

+1

yeupp done it ... –

3

단지 ID의 배열을 유지하여 온 클릭에 dinamically 이미지를 상기로드(). Random 대신 필드 변수를 사용하고 값을 증가시킵니다. 배열 길이에주의하십시오!

final int[] ids = new int[] { R.drawable.img1, R.drawable.img2 }; 
findViewById(R.id.button).setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     int randomId = new Random().nextInt(ids.length); 
     ImageView imageView = (ImageView) findViewById(R.id.imageview); 
     imageView.setImageDrawable(getResources().getDrawable(randomId)); 
    } 
}); 
+0

그것도 좋네요 .. –

관련 문제