Obtener el recurso que usa un ImageView

893 views
Skip to first unread message

Luis Francisco Bernal Hernandez

unread,
Aug 27, 2012, 8:23:18 AM8/27/12
to desarrollad...@googlegroups.com
Si tengo el siguiente ImageView:
 <ImageView
        android:id="@+id/imgDetalle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="42dp"
        android:src="@drawable/fondo" />

¿Como puedo obtener el src mediante código si quiero pasar a otro ImageView el mismo src? 

Leonardo Fernandez

unread,
Aug 27, 2012, 11:54:15 AM8/27/12
to desarrollad...@googlegroups.com
es cuestion que pruebes lo que te dice la documentación 

Drawable getDrawable()
Return the view's drawable, or null if no drawable has been assigned.
void setImageDrawable(Drawable drawable)
Sets a drawable as the content of this ImageView.

--
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a desarrolladores-a...@googlegroups.com
Para ver este debate en la Web, visita https://groups.google.com/d/msg/desarrolladores-android/-/UiOx03Wy_QUJ.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
 
 

Luis Francisco Bernal Hernandez

unread,
Aug 28, 2012, 6:44:34 AM8/28/12
to desarrollad...@googlegroups.com
Gracias, pero en mi caso no me vale ya que mediante putExtra no puedo enviar un drawable.
He probado lo siguiente pero no me funciona:

int id = img.getId();
Intent i=new Intent(this,ImagenActivity.class);
i.putExtra("id", id);
startActivity(i);

/*en la otra actividad*/

Bundle extras = getIntent().getExtras();
        if(extras!=null){
           id = extras.getInt("id");
           imgLista = (ImageView) findViewById(id);//me devuelve null y las siguientes lineas fallan
           res_img = imgLista.getDrawable();
           img.setImageDrawable(res_img);
        }

¿Puede ser que el findViewById no encuentre una view de otra actividad distinta a la actual?


El lunes, 27 de agosto de 2012 17:54:15 UTC+2, Leodufer escribió:
es cuestion que pruebes lo que te dice la documentación 

Drawable getDrawable()
Return the view's drawable, or null if no drawable has been assigned.
void setImageDrawable(Drawable drawable)
Sets a drawable as the content of this ImageView.
El 27 de agosto de 2012 09:23, Luis Francisco Bernal Hernandez <lbernalh...@yahoo.es> escribió:
Si tengo el siguiente ImageView:
 <ImageView
        android:id="@+id/imgDetalle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="42dp"
        android:src="@drawable/fondo" />

¿Como puedo obtener el src mediante código si quiero pasar a otro ImageView el mismo src? 

--
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a desarrolladores-android+unsub...@googlegroups.com

Jc Miñarro

unread,
Aug 28, 2012, 6:52:39 AM8/28/12
to desarrollad...@googlegroups.com
En el putExtra puedes enviar un Bitmap, ya que este implementa la interface Parcelable.
Lo que tienes que hacer es crearte un Bitmap con la imagen que tiene el ImagenView en
ese momento.

Para anular tu suscripción a este grupo, envía un correo electrónico a desarrolladores-a...@googlegroups.com
Para ver este debate en la Web, visita https://groups.google.com/d/msg/desarrolladores-android/-/8fKi1P_SDLMJ.

Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
 
 



--
Un saludo,
Jc Miñarro

-------------------------------------------------------------------------------------------
CarteleraApp - Consulta la cartelera y estrenos de los cines españoles.

Luis Francisco Bernal Hernandez

unread,
Aug 28, 2012, 7:26:44 AM8/28/12
to desarrollad...@googlegroups.com
Muchas gracias, he seguido tu consejo y lo he solucionado de esta forma:

public void OnImageClick(View img){
   
    img = (ImageView) img;
   
    img.buildDrawingCache();
    Bitmap bmap = img.getDrawingCache();
    Intent i=new Intent(this,ImagenActivity.class);
    i.putExtra("imagen", bmap);
    startActivity(i);
    }

//////en la otra actividad

@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
         
        setContentView(R.layout.activity_imagen);
        img = (ImageView) findViewById(R.id.imgDetalle);
        
        
        Bundle extras = getIntent().getExtras();
        if(extras!=null){
           bmap = extras.getParcelable("imagen");
           
           img.setImageBitmap(bmap);
        }
ese momento.


Para anular tu suscripción a este grupo, envía un correo electrónico a desarrolladores-android+unsubscr...@googlegroups.com

Para ver este debate en la Web, visita https://groups.google.com/d/msg/desarrolladores-android/-/UiOx03Wy_QUJ.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
 
 

--
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a desarrolladores-android+unsub...@googlegroups.com
Para ver este debate en la Web, visita https://groups.google.com/d/msg/desarrolladores-android/-/8fKi1P_SDLMJ.

Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
 
 
Reply all
Reply to author
Forward
0 new messages