![]() |
|
Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android |
«
Tema Anterior
|
Siguiente tema
»
|
Herramientas |
#1
|
Error al regresar a una activity usando boto atras <-- de la actionBar
Saludos compañeros, les comento este problema, tengo 4 activitys (MainActivivy, Main2Activity, Main3Activity, Main4Activity) ya estan operativas y funcionan bien, pero ahora quiero usar el boton de (Atras) que aparece en la actionBar para regresar de una activity a la otra, Actualmene NO tengo ese boton agregado buscando por ahi encontre este codigo para colocar en el manifest y asi poder usar ese boton (<--): (parentActivityName con meta-data)<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.Main2Activit y" /> <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.Main2Activit y" /> <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, 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(A ctivityThread.java:2412) 11-17 21:42:17.237 13091-13091/? E/AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(Ac tivityThread.java:2470) 11-17 21:42:17.237 13091-13091/? E/AndroidRuntime: at android.app.ActivityThread.access$900(ActivityThre ad.java:174) 11-17 21:42:17.237 13091-13091/? E/AndroidRuntime: at android.app.ActivityThread$H.handleMessage(Activit yThread.java:1307) 11-17 21:42:17.237 13091-13091/? E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:10 2) 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.jav a: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$MethodAndArgsCa ller.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:5 458) 11-17 21:42:17.237 13091-13091/? E/AndroidRuntime: at android.app.Instrumentation.callActivityOnCreate(I nstrumentation.java:1093) 11-17 21:42:17.237 13091-13091/? E/AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(A ctivityThread.java:2376) 11-17 21:42:17.237 13091-13091/? E/AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(Ac tivityThread.java:2470) 11-17 21:42:17.237 13091-13091/? E/AndroidRuntime: at android.app.ActivityThread.access$900(ActivityThre ad.java:174) 11-17 21:42:17.237 13091-13091/? E/AndroidRuntime: at android.app.ActivityThread$H.handleMessage(Activit yThread.java:1307) 11-17 21:42:17.237 13091-13091/? E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:10 2) 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.jav a: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$MethodAndArgsCa ller.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) |
|
#2
|
||||
|
||||
Has puesto en tu "onOptionsItemSelected" el codigo "NavUtils.navigateUpFromSameTask(this);" ?, en el manifest en las actividades 3 y 4 en el codigo "android:value="com.example.alvarolapto.soafiandroid.Actividad2 " pones el nombre de la actividad a la que quieres volver, en tu caso la Actividad2, deberia funcionarte. De todos modos revisa en Main2Activity la linea 41 que es donde te da error.
El codigo <meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.alvarolapto.soafiandroid.TuActivi ty " /> no hace falta ponerlo en todas las actividades, solo en las que quieras usar el boton |
#3
|
|
Cita:
android:parentActivityName=".MiActivity" <meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.android.MyApp.app.MiActivity" /> en el manifest, y asi lo hice lo coloque en las actividades que quiero usar ese boton y efectivamente aparece el boton atras en la actionBar, ahora sabes que solo colocando android:parentActivityName=".Main2Activity"tambien funciona sin colocar el <meta-data> Ok hasta aca todo bien, la primera actividad1 carga pide datos y pasa a la segunda actividad2 enviando los datos por intent, la segunda actividad2 arranca recibe los datos por intent y llena un listView desde un WS, al marcar un item del listView abro la actividad3 y muestro info cuando y cuando le doy al boton de atras (<--) de la actionBar quiero regresar a la segunda actividad2 pero da el error . Ahora te pregunto estimado compañero EXISTE UN PROBLEMA con el INTENT de la actividad2 es decir estara perdiendo los datos he leido algo sobre eso y quisiera saber antes de ponerme a inventar ja ja ja? Nota uso activitys y no fragments |
Respuesta |
![]() |
||||||
|
«
Tema Anterior
|
Siguiente tema
»
Herramientas | |
|
|
Hora actual: 19:03:36 (GMT +2)
HTCMania: líderes desde el 2007