Editado según la petición Peter O:
estoy de API 10, y este problema me dio un dolor de cabeza enorme. Tengo 3 pestañas, quiero que todos ellos estén al tanto de los cambios en el otro.El problema que tenía era que una vez que se iniciaba la actividad de una pestaña, parecía que no había devolución de llamada, por lo que la actividad entendía que el usuario cambiaba a una pestaña diferente y, por lo tanto, necesitaba trabajar para asegurarse de que su estado era correcto.
Encontré muchas respuestas a este problema, pero ninguna parecía funcionar.
El que finalmente llegué a trabajar fue la solución ofrecida como # 3 para este hilo, pero también es confuso. Encontré que getTabHost(). SetCurrentTab (0); no hace nada; Implementé OnTabChangeListener() para llamar a una función que usa getTabHost(). SetCurrentTab (0); sin embargo, encontré el getTabHost(). setCurrentTab (0); hizo que la aplicación fallara para cualquier pestaña que no sea 0, por ejemplo, si elijo la pestaña B (índice = 1), entonces se llama a getTabHost(). setCurrentTab (1); la aplicación se colgó.
Usando el depurador, encontré la llamada this.getCurrentActivity(); siempre devuelve la actividad asociada a la pestaña en la que el usuario hizo clic: llamando a getTabHost(). setCurrentTab(); no cambió ese hecho y causó que la aplicación fallara.
Así que me deshice de él y ahora puedo llamar a this.getCurrentActivity(), luego invoco un método en la clase Actvitity devuelta por esa llamada, esto le permite a la actividad saber que tiene que actualizar su estado, en mi caso lo hace usando el objeto de la aplicación.
Hola, wired00, intenté implementar esta solución pero recibo una ClassCastException. Básicamente, he copiado tu código, pero aquí hay una copia mía por si acaso: \t \t \t SearchActivity childAct = (SearchActivity) getTabHost(). GetChildAt (0) .getContext(); \t \t \t childAct.changeStateTo (1); En este código, SearchActivity es el nombre de la clase y changeStateTo() es el método público al que se llama. ¿Alguna ayuda? – Rockmaninoff
onClick es un código incorrecto. Devolver ninguna actividad secundaria, pero vista secundaria de tabhost - LinearLayout –
Hola, @Rockmaninoff, estoy enfrentando el mismo problema. ¿Has encontrado alguna solución? –