<activity
android:name=".MainActivity"
android:theme="@style/AppTheme0" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".Main2Activity"
android:label="@string/activity2"
android:theme="@style/AppTheme"
android:parentActivityName=".MainActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.alvarolapto.soafiandroid.MainActivity" />
</activity>
<activity
android:name=".Main3Activity"
android:label="@string/activity3"
android:theme="@style/AppTheme"
android:parentActivityName=".Main2Activity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.alvarolapto.soafiandroid.Main2Activity" />
</activity>
<activity
android:name=".Main4Activity"
android:label="@string/activity4"
android:theme="@style/AppTheme"
android:parentActivityName=".Main2Activity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.alvarolapto.soafiandroid.Main2Activity" />
</activity>
La logica de las actividades es la siguiente:
MainActivity=Pantalla de inicio
Main2Activity = presenta un listView poblado desde un WS, dependiendo de lo que se selecciona se muestra el
detalle en la Main3Activity o Main4Activity
Lo que me gustaria es regresar de la 3 o la 4 para la 2 usando el boton (<--) que aparece en la actionBar, cuando lo hago me da error, perdonen la ignorancia pero
esta correcto el modo como lo estoy haciendo? agrego algo del logcat, gracias por su ayuda. OJO usando el boton de la parte
inferior para volver atras no me da error
11-17 21:42:17.237 13091-13091/? E/AndroidRuntime: FATAL EXCEPTION: main
11-17 21:42:17.237 13091-13091/? E/AndroidRuntime: Process: com.example.alvarolapto.soafiandroid, PID: 13091
11-17 21:42:17.237 13091-13091/? E/AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.alvarolapto.soafiandroid/com.example.alvarolapto.soafiandroid.Main2Activity}: java.lang.NullPointerException
11-17 21:42:17.237 13091-13091/? E/AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2412)
11-17 21:42:17.237 13091-13091/? E/AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2470)
11-17 21:42:17.237 13091-13091/? E/AndroidRuntime: at android.app.ActivityThread.access$900(ActivityThread.java:174)
11-17 21:42:17.237 13091-13091/? E/AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1307)
11-17 21:42:17.237 13091-13091/? E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:102)
11-17 21:42:17.237 13091-13091/? E/AndroidRuntime: at android.os.Looper.loop(Looper.java:146)
11-17 21:42:17.237 13091-13091/? E/AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5593)
11-17 21:42:17.237 13091-13091/? E/AndroidRuntime: at java.lang.reflect.Method.invokeNative(Native Method)
11-17 21:42:17.237 13091-13091/? E/AndroidRuntime: at java.lang.reflect.Method.invoke(Method.java:515)
11-17 21:42:17.237 13091-13091/? E/AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)
11-17 21:42:17.237 13091-13091/? E/AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
11-17 21:42:17.237 13091-13091/? E/AndroidRuntime: at dalvik.system.NativeStart.main(Native Method)
11-17 21:42:17.237 13091-13091/? E/AndroidRuntime: Caused by: java.lang.NullPointerException
11-17 21:42:17.237 13091-13091/? E/AndroidRuntime: at com.example.alvarolapto.soafiandroid.Main2Activity.onCreate(Main2Activity.java:41)
11-17 21:42:17.237 13091-13091/? E/AndroidRuntime: at android.app.Activity.performCreate(Activity.java:5458)
11-17 21:42:17.237 13091-13091/? E/AndroidRuntime: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093)
11-17 21:42:17.237 13091-13091/? E/AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2376)
11-17 21:42:17.237 13091-13091/? E/AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2470)
11-17 21:42:17.237 13091-13091/? E/AndroidRuntime: at android.app.ActivityThread.access$900(ActivityThread.java:174)
11-17 21:42:17.237 13091-13091/? E/AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1307)
11-17 21:42:17.237 13091-13091/? E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:102)
11-17 21:42:17.237 13091-13091/? E/AndroidRuntime: at android.os.Looper.loop(Looper.java:146)
11-17 21:42:17.237 13091-13091/? E/AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5593)
11-17 21:42:17.237 13091-13091/? E/AndroidRuntime: at java.lang.reflect.Method.invokeNative(Native Method)
11-17 21:42:17.237 13091-13091/? E/AndroidRuntime: at java.lang.reflect.Method.invoke(Method.java:515)
11-17 21:42:17.237 13091-13091/? E/AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)
11-17 21:42:17.237 13091-13091/? E/AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
11-17 21:42:17.237 13091-13091/? E/AndroidRuntime: at dalvik.system.NativeStart.main(Native Method)
No es complicado ver porque explota tu app.
En el log que nos enviaste: (como te lo marco edgar)
Caused by: java.lang.NullPointerException
11-17 21:42:17.237 13091-13091/? E/AndroidRuntime: at com.example.alvarolapto.soafiandroid.Main2Activity.onCreate(Main2Activity.java:41)
O sea que tenes un puntero nulo, eso seguramente esta relacionado al ciclo de vida de el activity. Mira bien esa línea, corregí el puntero nulo, teniendo en cuenta el ciclo de vida. En otras palabras, cuando presionas el botón seguramente no se inicializa alguna variable porque no se ejecuta la función donde lo haces, por ejemplo el onCreate, pero si se elimina, por ejemplo en el onStop. Digo todo esto sin mirar tu código y sólo mirando el log ;) (que es lo más importante )
--
Para participar es necesario que leas detenidamente las normas del grupo: http://goo.gl/8h8ez2
---
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 mensajes, envía un correo electrónico a desarrolladores-a...@googlegroups.com.
Para publicar 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 esta conversación en el sitio web, visita https://groups.google.com/d/msgid/desarrolladores-android/009975a3-67ab-43fe-98d2-0693c8540edd%40googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
public class Main2Activity extends AppCompatActivity {
String nac,cedula,response,response2;
String cliente;
TextView xTxtCliente;
ListView xListado1;
List<claseCuentas> datosCtas;
String Resultado;
volatile boolean endActivity = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
xTxtCliente=(TextView)findViewById(R.id.txtCliente);
xListado1=(ListView)findViewById(R.id.lvListado);
datosCtas=new ArrayList<claseCuentas>();
xTxtCliente.setText("");
Bundle b=this.getIntent().getExtras();
nac=b.getString("nac");
cedula=b.getString("cedula");
response=b.getString("datos");
obtDatosJSON(response);
xListado1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String pro=((claseCuentas) parent.getItemAtPosition(position)).getC_producto();
String age = ((claseCuentas) parent.getItemAtPosition(position)).getC_agencia();
String xcta = ((claseCuentas) parent.getItemAtPosition(position)).getC_cuenta();
String var1 = ((claseCuentas) parent.getItemAtPosition(position)).getC_numero();
String var2 = ((claseCuentas) parent.getItemAtPosition(position)).getC_tipo();
String cta=var2+" "+var1;
//String cta=var1;
String con="0";
Intent i2;
Bundle b2 = new Bundle();
if (pro.equals("CUENTA")) {
i2 = new Intent(Main2Activity.this, Main3Activity.class);
b2.putString("con", con);
b2.putString("cta", cta);
b2.putString("xcta", xcta);
b2.putString("age", age);
}
else {
con="4";
i2 = new Intent(Main2Activity.this, Main4Activity.class);
b2.putString("con", con);
b2.putString("cta", cta);
b2.putString("xcta", xcta);
}
i2.putExtras(b2);
startActivity(i2);
}
});
}public class Main3Activity extends AppCompatActivity {
TextView xTxtSaldoDisp,xTxtSaldoDif,xTxtSaldoBlo;
TextView xTxtCuenta;
ListView xListado;
Spinner xSpiTip_Mov;
String con,cta,xcta,age;
String Resultado;
DecimalFormat numFormat = new DecimalFormat("###,###.##");
volatile boolean endActivity = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main3);
xTxtSaldoDisp=(TextView)findViewById(R.id.txtSaldoDisp3);
xTxtSaldoDif=(TextView)findViewById(R.id.txtSaldoDif3);
xTxtSaldoBlo=(TextView)findViewById(R.id.txtSaldoBlo3);
xTxtCuenta=(TextView)findViewById(R.id.txtCuenta3);
xListado=(ListView)findViewById(R.id.lvListado);
xSpiTip_Mov=(Spinner)findViewById(R.id.spiTip_mov);
Bundle b=this.getIntent().getExtras();
con=b.getString("con");
cta=b.getString("cta");
xcta=b.getString("xcta");
age=b.getString("age");
inicio();
});
}Lee nuevamente mi comentario ;) después de releer el funcionamiento del ciclo de vida de un activity
Después de eso, utiliza logs, sobre la línea en cuestión, los métodos onCreate, onstart, etc
Así comprenderás que sucede exactamente.
El solucionar un nullpointerexception es el error más sencillo a solucionar. Es un buen comienzo para aprender a solucionar errores
P.D.: utiliza mucho los logs, y el modo debug con varios breackpoints así aprenderás que sucede cada vez que tienes un error en el código
--
Para participar es necesario que leas detenidamente las normas del grupo: http://goo.gl/8h8ez2
---
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 mensajes, envía un correo electrónico a desarrolladores-a...@googlegroups.com.
Para publicar 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 esta conversación en el sitio web, visita https://groups.google.com/d/msgid/desarrolladores-android/3e0e6c0a-9f5d-4ee0-80da-7e0da7ae9e78%40googlegroups.com.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a desarrolladores-android+unsub...@googlegroups.com.