Tengo problemas para encontrar un ejemplo práctico de uso de fragmentos + RoboGuice. El problema ocurre cuando intentas agregar/eliminar fragmentos con el administrador de transacciones del fragmento de Android. Una vez que le dice al fragmento que herede de RoboFragment, el administrador de transacciones ya no piensa que la clase es un fragmento (porque extiende RoboFragment). Sin embargo, puede usar el propio administrador de fragmentos de RoboGuice, pero también se bloquea. ¿Hay algún ejemplo de agregar/eliminar fragmentos de RoboGuice dinámicamente?¿Algún ejemplo simple usando roboguice con fragmentos en Android?
Respuesta
Roboguice 1.x no es compatible con la biblioteca y los fragmentos compatibles. Deberá mover 2.0 que esté en beta o extender las clases de Fragment *.
Más información está disponible en:
http://groups.google.com/group/roboguice/browse_thread/thread/2858bc10b83b6beb
he recientemente comenzó a utilizar fragmentos en un nuevo proyecto, y el siguiente es el código que estoy usando
No estoy heredando de la clase RoboFragment, pero estoy haciendo exactamente lo mismo agregando las siguientes líneas a mis métodos onCreate y onViewCreated. Heredar de RoboFragment no debe comportarse de manera diferente, de hecho, así es como se ve RoboFragment.
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
RoboGuice.getInjector(getActivity()).injectMembersWithoutViews(this);
}
public void onViewCreated(final View view, final Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
RoboGuice.getInjector(getActivity()).injectViewMembers(this);
// Do whatever with your injected views.
}
Obviamente también he implementado enCreateView.
Luego, en mi Actividad Extiendo FragmentActivity como estoy usando el compatibility package. Tenga en cuenta que debe usar FragmentActivity si desea compatibilidad con el nivel pre API 11. Si solo admite 11 plus, no necesita la compatibilidad lib ni usa FragementActivity. En mi actividad, estoy usando lo siguiente para agregar el fragmento a mi página.
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.add(R.id.fragmentHolder, new MyFragment());
transaction.commit();
El tipo de R.id.fragmentHolder es un FrameLayout.
Todo funciona bien con esto y puedo usar todos mis recursos y vistas inyectados en mi fragmento. Para estar completo, estoy usando el último 2.0-SNAPSHOT de roboguice con la versión r6 de la biblioteca compatibity-v4 contra Android 2.2.1.
Gracias Rey. ¿Tiene algún código que haya encontrado o puede poner a disposición fragmentos que realmente hagan cosas significativas? – danb
Me temo que no, sin embargo, deberías poder hacer cualquier cosa que puedas hacer con una Actividad en un Fragmento. La única parte diferente es pasar datos de un Fragmento a otro ya que no deberían comunicarse directamente. La forma en que he visto este enfoque es comprobar el tipo de getActivity() en onCreate() y asegurarse de que sea de alguna interfaz que haya creado para aceptar datos del fragmento. De esta forma, su actividad puede implementar esta interfaz y pasar los datos si es necesario al siguiente fragmento. – Kingamajick
¿Estás seguro de que esto funciona? Cuando lo intento con Roboguice 2.0 obtengo 'IllegalArgumentException: MyFragmentActivity no parece ser un contexto de RoboGuice (instancia de RoboContext)' –
- 1. Android & RoboGuice - ¿Inyectar vistas en Fragment?
- 2. ORMLite para Android: Enlace DAO con Roboguice
- 3. Android Roboguice Excepción
- 4. Android - ¿Configurando Roboguice 2.0?
- 5. Creando una encuesta usando jQuery - ¿Algún ejemplo?
- 6. WPF y MVVM: ¿Algún ejemplo usando VB.Net?
- 7. ¿Algún buen ejemplo de programación usando libssl?
- 8. Ejemplo simple de anotaciones personalizadas usando Symfony2
- 9. ¿Algún buen ejemplo para openGLES shader en android?
- 10. OSMDroid ejemplo simple requerido
- 11. WPF - animación simple ejemplo simple
- 12. Fragmentos dinámicos en Android
- 13. Ejemplo de contador simple usando mapreduce en Google App Engine
- 14. si hay algún tutorial para la biblioteca zxing de Android con Fragmentos
- 15. Ejemplo simple nodeJS no funciona con socket.io
- 16. Aprendiendo TDD con un simple ejemplo
- 17. Injectview (Roboguice) no funciona con varios diseños
- 18. Ejemplo simple con Servlets de Guice
- 19. MKAnnotación, ejemplo simple
- 20. Simple GWT OpenID Ejemplo
- 21. Cola en C++ - ejemplo simple
- 22. AJAX simple con el ejemplo JSP
- 23. ¿Cómo usar la inyección de dependencia con Roboguice?
- 24. simple C++ hash_set ejemplo
- 25. v4l2 muy simple ejemplo
- 26. más simple TBB ejemplo
- 27. Ejemplo simple de DispatcherHelper
- 28. UINavigationController: ejemplo más simple
- 29. ¿Hay algún lenguaje simple implementado usando ANTLR o similar?
- 30. Usando múltiples fragmentos en una sola actividad
Tengo RoboGuice y Fragments trabajando en una aplicación muy bien. ¿Puedes proporcionar el seguimiento de la pila para que podamos ver cuál es el problema? –
Además, ¿qué versión de la biblioteca de compatibilidad está usando? –
También funcioné. –