Método onClick de fragmentos en elemento de fragmento

Leí algunos artículos sobre fragmentos, pero todavía estoy confundido acerca de cómo hacer qué.

Tengo una actividad principal, que muestra dos fragmentos uno al lado del otro. En uno de los fragmentos tengo un botón y definí en el XML de diseño de fragmentos para el botón

android:onClick="buttonClicked"

Ahora quiero implementar ese método

public void buttonClicked(View view)  

Supuse que esto debe implementarse en FragmentA.java y no en MainActivity.java. Pero solo funciona si ese método se implementa en MainActivity.java. ¿Porqué es eso? Para mí eso no tiene sentido. Pre Honeycomb, un método que pertenecía a una actividad permaneció en esa actividad, ahora en una tableta, ¿estoy fusionando muchas actividades en una MainActivity y todos los diferentes métodos se fusionan? ¿Qué pones por ejemplo en FragmentA.java entonces? ¿Qué sucede si tiene que comenzar una actividad propia porque esta aplicación se ejecuta en una computadora de mano? Entonces, el método onClick no tiene que estar en MainActivity sino en la Actividad que debe llamarse en ese momento. Estoy bastante confundido en este momento ...

Respuesta 1

No estoy seguro de cuál es el problema específico, pero tal vez esto ayude.

De la documentación de Android en Fragments:

Debe diseñar cada fragmento como un componente de actividad modular y reutilizable. Es decir, debido a que cada fragmento define su propio diseño y su propio comportamiento con sus propias devoluciones de llamada del ciclo de vida, puede incluir un fragmento en múltiples actividades, por lo que debe diseñar para su reutilización y evitar manipular directamente un fragmento de otro fragmento.

Es decir, nunca debe manipular un fragmento de otro fragmento; más bien, esto debería hacerse a través de la Actividad subyacente. Lea la sección "Crear devoluciones de llamada de eventos a la actividad" en este artículo para obtener más información (¡es algo importante!).

Por otro lado, si desea que el botón realice una acción dentro de Fragmentsí mismo (es decir, si desea un Buttonclic para cambiar el texto de a TextViewdentro del Fragmento), debe implementar esto en el Fragment, no en el Activity(esto se debe a que el resultado el comportamiento está contenido dentro de Fragmenty no tiene nada que ver con el padre Activity).

Deja un comentario y puedo aclarar si mi publicación es confusa ... Hace poco comencé a entenderme a Fragmentmí mismo :).

Respuesta: 2

Tengo una pequeña pregunta técnica, ¿es lo mismo llamar: public static staticfp double myMethod (double phi) {return Math.exp (phi); } o: public static double myMethod (double phi) ...

El problema ocurre si: ejecuto la aplicación desde Android Studio, la aplicación se ejecuta correctamente, luego borro la aplicación e intento instalar debug.apk desde ... / app / build / salidas / apk / debug.apk Mi sistema operativo es Ubuntu 16.04, ...

De repente, comencé a recibir este extraño error cuando intento depurar cualquiera de mis proyectos en Eclipse. No recuerdo haber cambiado nada para que este problema comenzara tan repentinamente. 'Lanzando <mi programa ...

Estoy depurando algunos servlets viejos con muchas excepciones. Sin ConcurrentModificationExceptions gracias a muchas (demasiadas) palabras clave sincronizadas, pero sigo sospechando que el servlet no es seguro. Yo leo ...