Ayuda con actividades (Activitys))

37 views
Skip to first unread message

William Andres

unread,
Jun 20, 2013, 11:10:51 PM6/20/13
to desarrollad...@googlegroups.com
Hola tengo 2 actividades lamadas Actividad1 y Actividad2
<---Este es el codigo en la Actividad1--->
import android.os.AsyncTask;
import android.os.Bundle;
import android.widget.SeekBar;
import android.widget.TextView;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;

public class Actividad1 extends Activity
{

private SeekBar progreso;
private TextView etiquetaHardware;

@Override
protected void onCreate(Bundle savedInstanceState)
{

super.onCreate(savedInstanceState);
setContentView(R.layout.vista_cargando);
etiquetaHardware = (TextView) findViewById(R.id.etiquetaHardware);
progreso = (SeekBar) findViewById(R.id.seekBar1);

AsyncTaskCargaDatos ATCargaDatos = new AsyncTaskCargaDatos(this);
ATCargaDatos.execute();
}

public class AsyncTaskCargaDatos extends AsyncTask<Void, Integer, Void>
{

Context mContext;
//Constructor
AsyncTaskCargaDatos(Context context)
{
mContext = context;
}

@Override
protected Void doInBackground(Void... params)
{
publishProgress(0);
for (int i = 0; i < 100; i++) {
try {

Thread.sleep(50);
publishProgress(i + 1);

} catch (InterruptedException e) {
e.printStackTrace();
}
}
return null;
}

@Override
protected void onProgressUpdate(Integer... value)
{
etiquetaHardware.setText("Revisando hardware "+value[0] + " %");
progreso.setProgress(value[0]);
}

@Override
protected void onPostExecute(Void result)
{
Intent actividad2 = new Intent(mContext, Actividad2.class);
startActivity(actividad2);
finish();
}
}// fin asynctask
}

<-----------Este es el codigo en la Actividad2--->
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.widget.Button;

public class Actividad2 extends Activity {

private Button botonAdministrar;
private final Intent intetActividad3 = new Intent (this,Actividad3.class);

@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.vista_temporizada);
botonAdministrar= (Button) findViewById(R.id.btn_administrar);

botonAdministrar.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
startActivity(intetActividad3);
}
});
}
}
<------------------------------------------------------>
Y cuando paso a la segunda actividad me da un error asi:
06-17 23:04:11.205: D/AndroidRuntime(8521): Shutting down VM
06-17 23:04:11.205: W/dalvikvm(8521): threadid=1: thread exiting with uncaught exception (group=0x409d71f8)
06-17 23:04:11.215: E/AndroidRuntime(8521): FATAL EXCEPTION: main
06-17 23:04:11.215: E/AndroidRuntime(8521): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.willian.asovipa_utmach/com.willian.asovipa_utmach.Actividad2}: java.lang.NullPointerException
06-17 23:04:11.215: E/AndroidRuntime(8521): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1880)
06-17 23:04:11.215: E/AndroidRuntime(8521): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
06-17 23:04:11.215: E/AndroidRuntime(8521): at android.app.ActivityThread.access$600(ActivityThread.java:123)
06-17 23:04:11.215: E/AndroidRuntime(8521): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
06-17 23:04:11.215: E/AndroidRuntime(8521): at android.os.Handler.dispatchMessage(Handler.java:99)
06-17 23:04:11.215: E/AndroidRuntime(8521): at android.os.Looper.loop(Looper.java:137)
06-17 23:04:11.215: E/AndroidRuntime(8521): at android.app.ActivityThread.main(ActivityThread.java:4424)
06-17 23:04:11.215: E/AndroidRuntime(8521): at java.lang.reflect.Method.invokeNative(Native Method)
06-17 23:04:11.215: E/AndroidRuntime(8521): at java.lang.reflect.Method.invoke(Method.java:511)
06-17 23:04:11.215: E/AndroidRuntime(8521): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
06-17 23:04:11.215: E/AndroidRuntime(8521): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
06-17 23:04:11.215: E/AndroidRuntime(8521): at dalvik.system.NativeStart.main(Native Method)
06-17 23:04:11.215: E/AndroidRuntime(8521): Caused by: java.lang.NullPointerException
06-17 23:04:11.215: E/AndroidRuntime(8521): at android.content.ContextWrapper.getPackageName(ContextWrapper.java:127)
06-17 23:04:11.215: E/AndroidRuntime(8521): at android.content.ComponentName.<init>(ComponentName.java:75)
06-17 23:04:11.215: E/AndroidRuntime(8521): at android.content.Intent.<init>(Intent.java:3148)
06-17 23:04:11.215: E/AndroidRuntime(8521): at com.willian.asovipa_utmach.Actividad2.<init>(Actividad2.java:24)
06-17 23:04:11.215: E/AndroidRuntime(8521): at java.lang.Class.newInstanceImpl(Native Method)
06-17 23:04:11.215: E/AndroidRuntime(8521): at java.lang.Class.newInstance(Class.java:1319)
06-17 23:04:11.215: E/AndroidRuntime(8521): at android.app.Instrumentation.newActivity(Instrumentation.java:1023)
06-17 23:04:11.215: E/AndroidRuntime(8521): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1871)
06-17 23:04:11.215: E/AndroidRuntime(8521): ... 11 more
06-17 23:04:11.695: I/dalvikvm(8521): threadid=3: reacting to signal 3
06-17 23:04:11.705: I/dalvikvm(8521): Wrote stack traces to '/data/anr/traces.txt'
06-17 23:04:11.745: I/dalvikvm(8521): threadid=3: reacting to signal 3
06-17 23:04:11.745: I/dalvikvm(8521): Wrote stack traces to '/data/anr/traces.txt'
06-17 23:04:54.045: I/Process(8521): Sending signal. PID: 8521 SIG: 9

<_---------------------Por favor me pueden ayudar?????????

Juan de Dios Maldonado Sánchez

unread,
Jun 21, 2013, 2:43:53 AM6/21/13
to desarrollad...@googlegroups.com
¿Se te ha ocurrido mirar en la línea 24 del archivo Actividad2.java?

at com.willian.asovipa_utmach.
Actividad2.<init>(Actividad2.java:24)

Estás llamando a un método a una variable que apunta a null. (No referencia a ningún objeto)



--
Para participar es necesario que leas detenidamente las normas del grupo: http://goo.gl/20KhL
---
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a desarrolladores-a...@googlegroups.com.
Para publicar una entrada en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.
Visita este grupo en http://groups.google.com/group/desarrolladores-android.
Para ver este debate en la Web, visita https://groups.google.com/d/msgid/desarrolladores-android/becbfaf4-8013-452b-806a-c2ad45348cb4%40googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.



William Andres

unread,
Aug 22, 2013, 12:22:36 AM8/22/13
to desarrollad...@googlegroups.com
Me alegra yo mismo haber encontrado la solución, y esque había instancado mal la llamada a la Actividad2, en primer lugar hay que darse cuenta que cuando instanciamos la tarea asíncrona AsyncTask, ATCargaDatos le pasamos el contexto en el cual estamos trabajando (this); por lo tanto el método onPostExecute podemos hacer uso de ese contexto y desde alli llamar a la nueva actividad. por lo tanto el cambio se da en ese método quedando de la siguiente manera:

         @Override
         protected void onPostExecute(Void result)
         {

            mContex.startActivity(new Intent(mContext,Actividad2.class));           
            finish();
         }


Reply all
Reply to author
Forward
0 new messages