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.