Cuando cambio la imagen mediante programación, ¿muestra una nueva imagen encima de la imagen anterior que se estableció originalmente en el archivo de diseño?
Aquí hay un fragmento de mi archivo de diseño:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="39dp"
android:gravity="center_vertical" >
<ImageView
android:id="@+id/qStatusImage"
android:layout_width="16dp"
android:layout_height="16dp"
android:layout_margin="5dp"
android:background="@drawable/thumbs_down"
/>
<TextView
android:id="@+id/grp_child"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:textColor="@color/radio_colors"
android:textStyle="normal"
android:background="@color/grey"
/>
</LinearLayout>
Y el código que establece imageView:
@Override
public View getChildView(final int groupPosition, final int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
//Answers
if(answersGroup != null)
answersGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
// int index = answersGroup.indexOfChild(findViewById(answersGroup.getCheckedRadioButtonId()));
qImageView = (ImageView) V.findViewById(R.id.qStatusImage);
if(ans ==0 || ans == 5){
// qSV.setImageResource(0);
qImageView.setImageResource(R.drawable.thumbs_up);
}
else
qImageView.setImageResource(R.drawable.thumbs_down);
}
});
¿Qué me estoy perdiendo?

image.setImageResource(R.drawable.icon_dot1);setBackgroundResource():( no eliminó la imagen existente antes de usar la nueva imagen ... así que obtuve dos imágenes colisionando allí. AunquesetImageResource()funcionó :). Aún así ... la publicación me puso en el camino correcto. ¡Gracias por ambas respuestas!setImageResource?ImageView.setImageResource(R.drawable.image);trabajó para míUsar en XML:
Uso de la fuente:
fuente
Respuesta corta
Simplemente copie una imagen en su
res/drawablecarpeta y useDetalles
La variedad de respuestas puede causar cierta confusión. Tenemos
setBackgroundResource()setBackgroundDrawable()setBackground()setImageResource()setImageDrawable()setImageBitmap()BackgroundTodos los métodos con su nombre pertenecen a laViewclase, noImageViewespecíficamente. Pero dado queImageViewhereda deViewusted también puede usarlos. Los métodos conImagesu nombre pertenecen específicamente aImageView.Los
Viewmétodos, todos ellos hacen lo mismo que la otra (aunquesetBackgroundDrawable()está en desuso), así que sólo se centran ensetBackgroundResource(). De manera similar,ImageViewtodos los métodos hacen lo mismo, por lo que solo nos centraremos ensetImageResource(). La única diferencia entre los métodos es el tipo de parámetro que ingresa.Preparar
Aquí hay un
FrameLayoutque contiene unImageView. ElImageViewinicialmente no tiene ninguna imagen. (Solo agregué elFrameLayoutpara poder poner un borde alrededor. De esa manera, puede ver el bordeImageView).A continuación compararemos los diferentes métodos.
setImageResource ()
Si usa ImageView
setImageResource(), la imagen mantiene su relación de aspecto y cambia de tamaño para adaptarse. Aquí hay dos ejemplos de imágenes diferentes.imageView.setImageResource(R.drawable.sky);imageView.setImageResource(R.drawable.balloons);setBackgroundResource ()
Usando View's
setBackgroundResource(), por otro lado, hace que el recurso de imagen se estire para llenar la vista.imageView.setBackgroundResource(R.drawable.sky);imageView.setBackgroundResource(R.drawable.balloons);Ambos
La imagen de fondo de la vista y la imagen de ImageView se dibujan por separado, por lo que puede configurar ambas.
fuente
setImageResource:Sets a drawable as the content of this ImageView. This does Bitmap reading and decoding on the UI thread, which can cause a latency hiccup. If that's a concern, consider using setImageDrawable(Drawable) or setImageBitmap(Bitmap) and android.graphics.BitmapFactory instead.Creo que esto te ayudará
fuente
En su XML para la vista de imagen, donde tiene
android:background="@drawable/thumbs_downcambiado esto aandroid:src="@drawable/thumbs_down"Actualmente está colocando esa imagen como fondo de la vista y no como la imagen real en ella.
fuente
En Diseño XML
Imagen dibujable mediante código
Imagen del servidor
fuente
Puedes usar
o en java java
fuente