--
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/338d7b6d-4a2f-4fe7-a2ea-35c7e9821cd4%40googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
10-08 21:33:54.532: W/dalvikvm(2102): threadid=1: thread exiting with uncaught exception (group=0x417c9700)
10-08 21:33:54.540: E/AndroidRuntime(2102): FATAL EXCEPTION: main
10-08 21:33:54.540: E/AndroidRuntime(2102): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.user.app_demo/com.user.app_demo.ExerciseView}: java.lang.NullPointerException
10-08 21:33:54.540: E/AndroidRuntime(2102): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211)
10-08 21:33:54.540: E/AndroidRuntime(2102): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
10-08 21:33:54.540: E/AndroidRuntime(2102): at android.app.ActivityThread.access$600(ActivityThread.java:141)
10-08 21:33:54.540: E/AndroidRuntime(2102): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
10-08 21:33:54.540: E/AndroidRuntime(2102): at android.os.Handler.dispatchMessage(Handler.java:99)
10-08 21:33:54.540: E/AndroidRuntime(2102): at android.os.Looper.loop(Looper.java:137)
10-08 21:33:54.540: E/AndroidRuntime(2102): at android.app.ActivityThread.main(ActivityThread.java:5103)
10-08 21:33:54.540: E/AndroidRuntime(2102): at java.lang.reflect.Method.invokeNative(Native Method)
10-08 21:33:54.540: E/AndroidRuntime(2102): at java.lang.reflect.Method.invoke(Method.java:525)
10-08 21:33:54.540: E/AndroidRuntime(2102): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
10-08 21:33:54.540: E/AndroidRuntime(2102): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
10-08 21:33:54.540: E/AndroidRuntime(2102): at dalvik.system.NativeStart.main(Native Method)
10-08 21:33:54.540: E/AndroidRuntime(2102): Caused by: java.lang.NullPointerException
10-08 21:33:54.540: E/AndroidRuntime(2102): at com.user.app_demo.Converter.bundleToMaximum(Converter.java:18)
10-08 21:33:54.540: E/AndroidRuntime(2102): at com.user.app_demo.ExerciseView.onStart(ExerciseView.java:54)
10-08 21:33:54.540: E/AndroidRuntime(2102): at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1171)
10-08 21:33:54.540: E/AndroidRuntime(2102): at android.app.Activity.performStart(Activity.java:5143)
10-08 21:33:54.540: E/AndroidRuntime(2102): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2184)
10-08 21:33:54.540: E/AndroidRuntime(2102): ... 11 more
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myList = (ListView) findViewById(R.id.listLastMaximums);
myList.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> list, View view,
int position, long id) {
Intent intent = new Intent(MainActivity.this,
ExerciseView.class);
Bundle b = new Bundle();
b = Converter.maximumToBundle(listLastMaximums.get(position));
intent.putExtras(b);
startActivity(intent);
}
});
}
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.exercise_view);
bundle = this.getIntent().getExtras();
}
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState = Converter.maximumToBundle(maximum);
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
bundle = savedInstanceState;
}
@Override
protected void onStart() {
super.onStart();
maximum = Converter.bundleToMaximum(bundle);
...
...
...
}
private void history_maximums() {
Intent intent = new Intent(ExerciseView.this, HistoryActivity.class);
Bundle b = new Bundle();
b.putString(Values.getExerciseid(), maximum.getExercise_id());
intent.putExtras(b);
startActivity(intent);
}
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.history);
Bundle b = this.getIntent().getExtras();
id_exercise = b.getString("exercise_id");
listHistory = (ListView) findViewById(R.id.listAllMaximums);
}
@Override
protected void onStart() {
super.onStart();
populateList();
}
Has recibido este mensaje porque estás suscrito a un tema del grupo "desarrolladores-android" de Grupos de Google.
Para anular la suscripción a este tema, visita https://groups.google.com/d/topic/desarrolladores-android/TI7g8W8hoUM/unsubscribe.
Para anular la suscripción a este grupo y a todos sus temas, 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/CAAFH9pLxT63yQ9%3DAhSNDZpTbSbStetAJobCNmnW6TiJJXfugWA%40mail.gmail.com.
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()) {
case android.R.id.home:
onBackPressed(); // finish();
return true;
}
return super.onOptionsItemSelected(item);
}10-08 21:33:54.532: W/dalvikvm(2102): threadid=1: thread exiting with uncaught exception (group=0x417c9700)
10-08 21:33:54.540: E/AndroidRuntime(2102): FATAL EXCEPTION: main
10-08 21:33:54.540: E/AndroidRuntime(2102): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.user.app_demo/com.user.app_demo.ExerciseView}: java.lang.NullPointerException
10-08 21:33:54.540: E/AndroidRuntime(2102): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211)
10-08 21:33:54.540: E/AndroidRuntime(2102): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
10-08 21:33:54.540: E/AndroidRuntime(2102): at android.app.ActivityThread.access$600(ActivityThread.java:141)
10-08 21:33:54.540: E/AndroidRuntime(2102): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
10-08 21:33:54.540: E/AndroidRuntime(2102): at android.os.Handler.dispatchMessage(Handler.java:99)
10-08 21:33:54.540: E/AndroidRuntime(2102): at android.os.Looper.loop(Looper.java:137)
10-08 21:33:54.540: E/AndroidRuntime(2102): at android.app.ActivityThread.main(ActivityThread.java:5103)
10-08 21:33:54.540: E/AndroidRuntime(2102): at java.lang.reflect.Method.invokeNative(Native Method)
10-08 21:33:54.540: E/AndroidRuntime(2102): at java.lang.reflect.Method.invoke(Method.java:525)
10-08 21:33:54.540: E/AndroidRuntime(2102): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
10-08 21:33:54.540: E/AndroidRuntime(2102): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
10-08 21:33:54.540: E/AndroidRuntime(2102): at dalvik.system.NativeStart.main(Native Method)
10-08 21:33:54.540: E/AndroidRuntime(2102): Caused by: java.lang.NullPointerException
10-08 21:33:54.540: E/AndroidRuntime(2102): at com.user.app_demo.Converter.bundleToMaximum(Converter.java:18)
10-08 21:33:54.540: E/AndroidRuntime(2102): at com.user.app_demo.ExerciseView.onStart(ExerciseView.java:54)
10-08 21:33:54.540: E/AndroidRuntime(2102): at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1171)
10-08 21:33:54.540: E/AndroidRuntime(2102): at android.app.Activity.performStart(Activity.java:5143)
10-08 21:33:54.540: E/AndroidRuntime(2102): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2184)
10-08 21:33:54.540: E/AndroidRuntime(2102): ... 11 more
Al parecer, aunque a simple vista el botón "UP" de la Action Bar y el botón Back tengan un comportamiento idéntico, internamente actúan de forma distinta.
El botón Back termina la activity actual ( finish() ) y vuelve al estado anterior de la aplicación. Esto provoca la ejecución del método onResume().El botón Up, por su parte, indica a la app que la próxima actividad a cargar será la que tenemos establecida como "PARENT". Esto no significa que volvamos al estado anterior, sino que crea de nuevo la actividad. Por lo tanto, se ejecuta de nuevo el método onCreate(). Aquí es donde reside el problema.
La solución más rápida sería hacer que el botón "Up" se comporte exactamente igual que Back. Por lo tanto, en la tercera activity:@Override public boolean onOptionsItemSelected(MenuItem item) { switch(item.getItemId()) { case android.R.id.home: onBackPressed(); // finish(); return true; } return super.onOptionsItemSelected(item); }android.R.id.home es el valor para el botón Up. Sobrescribimos su implementación para que ejecute onBackPressed(), que es el comportamiento deseado. onBackPressed() simplemente realiza un finish(), así que puedes sustituirlo por ello si no tienes el método sobrescrito.La respuesta viene guiada por este hilo: http://stackoverflow.com/questions/10320179/android-actionbar-up-button-versus-system-back-buttonTuve que lidiar con una situación similar hace un tiempo, pero en mi caso simplemente bastaba con recoger los valores en onResume() en lugar de en onCreate(). La información en lugar de un Bundle venía del almacenamiento interno, pero al volver atrás no se recargaba (al usar el botón Back no se ejecutaba onCreate() ).
--
Para participar es necesario que leas detenidamente las normas del grupo: http://goo.gl/8h8ez2
---
Has recibido este mensaje porque estás suscrito a un tema del grupo "desarrolladores-android" de Grupos de Google.
Para anular la suscripción a este tema, visita https://groups.google.com/d/topic/desarrolladores-android/TI7g8W8hoUM/unsubscribe.
Para anular la suscripción a este grupo y a todos sus temas, 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/12e76374-cac0-4290-bede-e6f2972631bc%40googlegroups.com.