ImageView 소스 변경 android:id=”@+id/articleImg”

나는이 ImageView다음 구문을 사용하여 XML의 소스 이미지 세트를 :

   <ImageView
      android:id="@+id/articleImg"
      style="@style/articleImgSmall_2"
      android:src="@drawable/default_m" />

이제 프로그래밍 방식으로이 이미지를 변경해야합니다. 내가해야 할 일은 이전 이미지를 삭제하고 새 이미지를 추가하는 것입니다. 내가 한 일은 이것입니다.

myImgView.setBackgroundResource(R.drawable.monkey);

그것은 작동하지만 안드로이드가 오래된 이미지 위에 새로운 이미지를 쌓는 것을 알았습니다 (토론과 관련이 없다는 것을 어떻게 알지 말아주세요). 새 이미지를 설정하기 전에 이전 이미지를 제거해야합니다.

어떻게하면 되나요?



답변

ImageView 소스 변경 :

setBackgroundResource()방법을 사용하여 :

  myImgView.setBackgroundResource(R.drawable.monkey);

당신은 그 원숭이를 배경에 넣고 있습니다.

setImageResource()방법을 사용하는 것이 좋습니다 .

  myImgView.setImageResource(R.drawable.monkey);

또는 setImageDrawable()방법 :

myImgView.setImageDrawable(getResources().getDrawable(R.drawable.monkey));

*** 새로운 Android API 22 getResources().getDrawable()에서는 더 이상 사용되지 않습니다. 다음은 지금 사용하는 예입니다.

myImgView.setImageDrawable(getResources().getDrawable(R.drawable.monkey, getApplicationContext().getTheme()));

이전 API 버전의 유효성을 검사하는 방법 :

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
     myImgView.setImageDrawable(getResources().getDrawable(R.drawable.monkey, getApplicationContext().getTheme()));
   } else {
     myImgView.setImageDrawable(getResources().getDrawable(R.drawable.monkey));
}

답변

setImageResource대신 사용해야 합니다 setBackgroundResource.


답변

myImgView.setImageResource(R.drawable.monkey);

현재 이미지보기에서 이미지를 설정하는 데 사용되지만이 이미지를 삭제하려면 다음과 같이이 코드를 사용할 수 있습니다.

((ImageView) v.findViewById(R.id.ImageView1)).setImageResource(0);

이제 리소스 값이 0으로 설정되었으므로 이미지보기에서 이미지가 삭제됩니다.


답변

ImageView의 ID를

ImageView imgFp = (ImageView) findViewById(R.id.imgFp);

그런 다음 사용

imgFp.setImageResource(R.drawable.fpscan);

XML 대신 프로그래밍 방식으로 소스 이미지를 설정합니다.


답변

아니면 이것을 시도하십시오. 나를 위해 그것은 잘 작동합니다 :

imageView.setImageDrawable(ContextCompat.getDrawable(this, image));

답변

보충적인 시각적 답변

ImageView: setImageResource()(표준 방법, 종횡비 유지)

View: setBackgroundResource()(이미지가 늘어납니다)

양자 모두

내 완전한 답변은 여기에 있습니다 .


답변

밉맵 디렉토리 안에있는 이미지를 imageview에서 설정하려면 다음 과 같이하십시오.

myImageView.setImageDrawable(getResources().getDrawable(R.mipmap.my_picture)