Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/04/2013, 13:27
ivanvega3090
 
Fecha de Ingreso: julio-2011
Ubicación: Los Mochis, Sinaloa
Mensajes: 2
Antigüedad: 12 años, 9 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 android.widget.EditText@43ec92d0 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 android.widget.EditText@43ec92d0 has no id.


pero no se como solucionarlo, agradeceria mucho cualquier ayuda que me puedan ofrecer, gracias.