Foros del Web » Programando para Internet » Android »

Como pasar imagen por putExtra

Estas en el tema de Como pasar imagen por putExtra en el foro de Android en Foros del Web. Hola buenas tardes soy nuevo desarrollando para Android y tengo algunos problemas espero me puedan ayudar :). En esta clase creo la interfaz de una ...
  #1 (permalink)  
Antiguo 26/04/2013, 13:27
 
Fecha de Ingreso: julio-2011
Ubicación: Los Mochis, Sinaloa
Mensajes: 2
Antigüedad: 7 años, 10 meses
Puntos: 0
Como pasar imagen por putExtra

Hola buenas tardes soy nuevo desarrollando para Android y tengo algunos problemas espero me puedan ayudar :).

En esta clase creo la interfaz de una activity de mi aplicación con el siguiente codigo:


public class Inicio extends Activity
{
public String var;
public Uri liga ;
private Integer[] imagenes=
{
R.drawable.tarjeta3, R.drawable.tarjeta2, R.drawable.tarjeta1
, R.drawable.tarjeta4 , R.drawable.tarjeta5 , R.drawable.tarjeta6 , R.drawable.tarjeta7
, R.drawable.tarjeta8 , R.drawable.tarjeta9, R.drawable.tarjeta10, R.drawable.tarjeta11
, R.drawable.tarjeta12, R.drawable.tarjeta13 , R.drawable.tarjeta14
};


protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);

//Creo el laoyut padre
LinearLayout layPadre= new LinearLayout(this);
layPadre.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PAREN T, LayoutParams.MATCH_PARENT)); //width height

//Layout contenedor de area buscar
LinearLayout layContentBuscador= new LinearLayout(this);
layContentBuscador.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PAREN T, LayoutParams.WRAP_CONTENT));


//Layout contenedor de scrollView
LinearLayout layContentScroll= new LinearLayout(this);
layContentScroll.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PAREN T, LayoutParams.WRAP_CONTENT));

layContentScroll.setPadding(0, 10, 0, 0);
//orientacion de layouts
layPadre.setOrientation(1);
layContentBuscador.setOrientation(0);
layContentScroll.setOrientation(1);

//agregar a layoutPadre hijos
layPadre.addView(layContentBuscador);
layPadre.addView(layContentScroll);

//Creacion de elementos buscador
EditText edtBuscar = new EditText(this);
edtBuscar.setInputType(1); //1 es el inputtype text
edtBuscar.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PAREN T,LayoutParams.WRAP_CONTENT));

ImageView icoBuscar = new ImageView(this);
icoBuscar.setImageResource(R.drawable.btn_buscador );
icoBuscar.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTEN T,LayoutParams.WRAP_CONTENT));
icoBuscar.setPadding(2, 2, 2, 2);
//agregar hijos a layContentBuscador
layContentBuscador.addView(icoBuscar);
layContentBuscador.addView(edtBuscar);

//layPadre=(LinearLayout)findViewById(R.id.LayoutPad reInicio);
//layPadre.setOrientation(1);
//layPadre.addView(layContentScroll);
//layContentScroll.setOrientation(1);


//Scrollview
ScrollView scview = new ScrollView(this);
scview.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PAREN T,LayoutParams.WRAP_CONTENT));
//agregar scroolview a laypadre
layContentScroll.addView(scview);
//Layout para orden de imagenes en scrollview
LinearLayout layscroll = new LinearLayout(this);
layscroll.setOrientation(1);
layscroll.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PAREN T,LayoutParams.WRAP_CONTENT));
layscroll.setBackgroundColor(Color.rgb(10, 5, 100));
//agregar layout a scroll view
scview.addView(layscroll);

for (int i=0; i<14; i++)
{

ImageView i1=new ImageView(this);
i1.setImageResource(imagenes[i]);
i1.setScaleType(ScaleType.CENTER);
i1.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PAREN T,LayoutParams.WRAP_CONTENT));
i1.setPadding(0, 5, 0, 0);

i1.setOnClickListener(new View.OnClickListener()
{
public void onClick(View view)
{
Intent in = new Intent(Inicio.this, perTarjeta.class);
startActivity(in);

}

});

layscroll.addView(i1);
}//FIN CICLO*/


setContentView(layPadre);
}//FIN DE ONCREATE

}//FIN DE CLASE





Bueno mi problema surge al necesitar pasar la imagen seleccionada del scrollview a la activity perTarjeta.class he intentado con este codigo


view = (ImageView) view;
view.buildDrawingCache();
Bitmap bmap = view.getDrawingCache();
in.putExtra("imagen", bmap);

la clase perTarjeta es esta

public class perTarjeta extends Activity
{
ImageView tarjeta;
Bitmap bmap;
@Override public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);

// Mostramos los parámetros recibidos de la actividad mainActivity
//Bundle reicieveParams = getIntent().getExtras();
tarjeta=(ImageView) findViewById(R.id.imgvperTarjeta);
Bundle extras = getIntent().getExtras();
if(extras!=null)
{
bmap = extras.getParcelable("imagen");
tarjeta.setImageBitmap(bmap);
}
setContentView(R.layout.pertarjeta);

}
}


y al ejecutar la aplicacion me muestra la actividad de inicio pero al dar cliq en cualquier imagen me sale un cuadro que dice la aplicacion se ha interrumpido inesperadamente. intentelo de nuevo


y en el logcat me aparece esto

04-26 19:14:44.857: D/PhoneWindow(425): couldn't save which view has focus because the focused view [email protected] has no id.
04-26 19:14:44.877: D/AndroidRuntime(425): Shutting down VM
04-26 19:14:44.877: W/dalvikvm(425): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
04-26 19:14:44.887: E/AndroidRuntime(425): FATAL EXCEPTION: main
04-26 19:14:44.887: E/AndroidRuntime(425): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.Tarjetero.Virtual/com.Tarjetero.Virtual.perTarjeta}: java.lang.NullPointerException
04-26 19:14:44.887: E/AndroidRuntime(425): at android.app.ActivityThread.performLaunchActivity(A ctivityThread.java:2663)
04-26 19:14:44.887: E/AndroidRuntime(425): at android.app.ActivityThread.handleLaunchActivity(Ac tivityThread.java:2679)
04-26 19:14:44.887: E/AndroidRuntime(425): at android.app.ActivityThread.access$2300(ActivityThr ead.java:125)
04-26 19:14:44.887: E/AndroidRuntime(425): at android.app.ActivityThread$H.handleMessage(Activit yThread.java:2033)
04-26 19:14:44.887: E/AndroidRuntime(425): at android.os.Handler.dispatchMessage(Handler.java:99 )
04-26 19:14:44.887: E/AndroidRuntime(425): at android.os.Looper.loop(Looper.java:123)
04-26 19:14:44.887: E/AndroidRuntime(425): at android.app.ActivityThread.main(ActivityThread.jav a:4627)
04-26 19:14:44.887: E/AndroidRuntime(425): at java.lang.reflect.Method.invokeNative(Native Method)
04-26 19:14:44.887: E/AndroidRuntime(425): at java.lang.reflect.Method.invoke(Method.java:521)
04-26 19:14:44.887: E/AndroidRuntime(425): at com.android.internal.os.ZygoteInit$MethodAndArgsCa ller.run(ZygoteInit.java:868)
04-26 19:14:44.887: E/AndroidRuntime(425): at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:626)
04-26 19:14:44.887: E/AndroidRuntime(425): at dalvik.system.NativeStart.main(Native Method)
04-26 19:14:44.887: E/AndroidRuntime(425): Caused by: java.lang.NullPointerException
04-26 19:14:44.887: E/AndroidRuntime(425): at com.Tarjetero.Virtual.perTarjeta.onCreate(perTarje ta.java:23)
04-26 19:14:44.887: E/AndroidRuntime(425): at android.app.Instrumentation.callActivityOnCreate(I nstrumentation.java:1047)
04-26 19:14:44.887: E/AndroidRuntime(425): at android.app.ActivityThread.performLaunchActivity(A ctivityThread.java:2627)
04-26 19:14:44.887: E/AndroidRuntime(425): ... 11 more


No estoy muy seguro pero supongo esta es linea que marca el error principal

04-26 19:14:44.857: D/PhoneWindow(425): couldn't save which view has focus because the focused view [email protected] has no id.


pero no se como solucionarlo, agradeceria mucho cualquier ayuda que me puedan ofrecer, gracias.
  #2 (permalink)  
Antiguo 27/04/2013, 09:46
Avatar de zero_master  
Fecha de Ingreso: junio-2011
Ubicación: Leon, Gto
Mensajes: 290
Antigüedad: 8 años
Puntos: 74
Respuesta: Como pasar imagen por putExtra

un Bitmap como tal no creo que se pueda pasar no se.... pero un array de los valores de la imagen si se pueden pasar
  #3 (permalink)  
Antiguo 29/04/2013, 13:52
Avatar de jomaruro
Colaborador
 
Fecha de Ingreso: junio-2002
Ubicación: Naboo
Mensajes: 5.442
Antigüedad: 17 años
Puntos: 361
Respuesta: Como pasar imagen por putExtra

Hola:

Cita:
Iniciado por ivanvega3090 Ver Mensaje
04-26 19:14:44.887: E/AndroidRuntime(425): at com.Tarjetero.Virtual.perTarjeta.onCreate(perTarje ta.java:23)
Verifica la línea 23.

Y, por favor, cuando pongas algo de código utiliza la etiqueta Highlight para poder verlo con más claridad. Así es un poco complicado.

Saludos.


Etiquetas: activity, app, java, layout
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:26.