UI con Transiciones entre Fragments

  • Respuestas:0
Nitram
  • Posts del Foro: 1

28 jun. 2014 22:04:50 vía Web

Buenas a todos...

espero seais compasivos/comprensivos conmigo, ya que estoy empezando con esto de android y ya estoy completamente bloqueado diseñando solo la interface de la aplicación. Os cuento y a ver si me podeis orientar.

Estoy creando una aplicación de forma que si se ejecuta en un móvil cada fragment será una pantalla según las opciones que vamos seleccionando.

Ahora mismo la ventana principal se crear cargando un fragment de dos botones en un FrameLayout como contenedor. Lo primero que hago es con Transacciones cargar este fragment (add). Luego, según el botón ccickado hago un replace con cada uno de los otros dos fragments.

Antes del commit(), hago un addToBackStack para poder volver atrás desde los mismos.

El problema está con el fragment que carga googlemaps. La primera vez lo hace correctamente, pero si le doy atrás y vuelvo a clickar para cargarlo, da error sy sale de la aplicación. El caso es que si antes de hacer click giro la pantalla, lo puedo cargar sin problema, pero volviendo atrás vuelve a dar el mismo error si clicko otra vez... no sé si me explico bien, pero le caso es que para que funcione correctamente antes de clickar nuevamente en le boton que carga el mapa debo girar la pantalla porque sino se cuelga todo.

He probado infinidad de soluciones que he ido encontrando por internet, pero ninguna me funciona. Os paso el log para que veáis el error:

06-28 22:00:05.742: E/AndroidRuntime(21848): FATAL EXCEPTION: main 06-28 22:00:05.742: E/AndroidRuntime(21848): android.view.InflateException: Binary XML file line #2: Error inflating class fragment 06-28 22:00:05.742: E/AndroidRuntime(21848): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) 06-28 22:00:05.742: E/AndroidRuntime(21848): at android.view.LayoutInflater.inflate(LayoutInflater.java:466) 06-28 22:00:05.742: E/AndroidRuntime(21848): at android.view.LayoutInflater.inflate(LayoutInflater.java:396) 06-28 22:00:05.742: E/AndroidRuntime(21848): at mvm.nitram.lugarespersonales.Mapalugares.onCreateView(Mapalugares.java:23) 06-28 22:00:05.742: E/AndroidRuntime(21848): at android.support.v4.app.Fragment.performCreateView(Fragment.java:1500) 06-28 22:00:05.742: E/AndroidRuntime(21848): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:938) 06-28 22:00:05.742: E/AndroidRuntime(21848): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1115) 06-28 22:00:05.742: E/AndroidRuntime(21848): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682) 06-28 22:00:05.742: E/AndroidRuntime(21848): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1478) 06-28 22:00:05.742: E/AndroidRuntime(21848): at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:446) 06-28 22:00:05.742: E/AndroidRuntime(21848): at android.os.Handler.handleCallback(Handler.java:615) 06-28 22:00:05.742: E/AndroidRuntime(21848): at android.os.Handler.dispatchMessage(Handler.java:92) 06-28 22:00:05.742: E/AndroidRuntime(21848): at android.os.Looper.loop(Looper.java:153) 06-28 22:00:05.742: E/AndroidRuntime(21848): at android.app.ActivityThread.main(ActivityThread.java:5086) 06-28 22:00:05.742: E/AndroidRuntime(21848): at java.lang.reflect.Method.invokeNative(Native Method) 06-28 22:00:05.742: E/AndroidRuntime(21848): at java.lang.reflect.Method.invoke(Method.java:511) 06-28 22:00:05.742: E/AndroidRuntime(21848): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:821) 06-28 22:00:05.742: E/AndroidRuntime(21848): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584) 06-28 22:00:05.742: E/AndroidRuntime(21848): at dalvik.system.NativeStart.main(Native Method) 06-28 22:00:05.742: E/AndroidRuntime(21848): Caused by: java.lang.IllegalArgumentException: Binary XML file line #2: Duplicate id 0x7f07005f, tag null, or parent id 0x0 with another fragment for com.google.android.gms.maps.SupportMapFragment 06-28 22:00:05.742: E/AndroidRuntime(21848): at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:296) 06-28 22:00:05.742: E/AndroidRuntime(21848): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:676) 06-28 22:00:05.742: E/AndroidRuntime(21848): ... 18 more

Si os es necesario os paso el código... poca cosa ya que no consigo pasar de este punto. Se limita a cargar los fragments y a "intentar" moverse entre ellos.

Si alguien me puede orientar en cuál es el problema para poder solucionarlo, os lo agradecería eternamente. Básicmanete pq como digo estoy empezando y quedarse colgado ya en este punto es decepcionante y especialmente desanimador.

Un saludo a todos y gracias por anticipado.

Contestar