Iniciar otra actividad dentro de FrameLayout de TabActivity
Estoy tratando de hacer una aplicación que tiene 4 pestañas en la parte inferior de la pantalla.
Todos ellos contienen Actividad (Intención).
- Combinar el menú TabActivity con los menús de Actividades contenidas
- Cómo hacer oval shape tabhost en android
- Característica Título personalizado: No se pueden combinar títulos personalizados en API 11 y superiores
- Problema de TabActivity de la interfaz de usuario de Android
- Android API TabActivity deprecation
Y quiero navegar por cualquier Actividad a otra actividad. Pero quiero mantener el TabWidget visible.
Házmelo saber lo más rápido posible si lo sabes.
Shaiful
- ¿Cuál es la mejor manera de averiguar el número de pestañas en un TabActivity?
- Androide. Cómo cambiar la actividad dentro de una pestaña
- Desliza el dedo para cambiar las pestañas de Android, como las aplicaciones de YouTube / Google Music
- ¿Por qué TabActivity está obsoleta (razón)?
- Android 2.1 NullPointerException con TabWidgets
- Establecer la intención de volver clave en TabActivity
- TabActivity Actividad infantil con BroadcastReceiver permanece viva en segundo plano
- TabHost no mostrar el contenido al principio
El problema del error que se produce debido a la sustitución de las actividades se puede resolver de la siguiente manera.
En primer lugar Vamos a entender el flujo:
-
Tenemos en una actividad de Tab, actividad (digamos una lista) de la que tenemos que ir a la siguiente Actividad (diga los detalles para el elemento pulsado) bajo la misma pestaña. Para ello podemos utilizar el concepto de sustitución de la actividad. También se establecen los indicadores para la ficha seleccionada y otros para saber que se muestran los detalles ahora
-
Cuando presionamos de nuevo debemos obtener la actividad anterior bajo la misma pestaña.Para ello en lugar de volver a sustituir la actividad, podemos actualizar la pestaña mientras se utiliza el indicador particular para la pestaña que fue seleccionado. También si la bandera para los detalles de la demostración es verdad nosotros irá la lista en la misma lengüeta o haremos la actividad antes del tabwidget (uso normal de onBackPressed)
El código puede ser como sigue.
- Para ir de la lista a los detalles …
(Esto puede estar en el onClickListener)
private OnClickListener textListener = new OnClickListener() { @Override public void onClick(View v) { Constants.SHOW_DETAILS = true; Intent intent = new Intent(context, DetailsActivity.class); replaceContentView("activity3", intent); } }; public void replaceContentView(String id, Intent newIntent) { View view = ((ActivityGroup) context) .getLocalActivityManager() .startActivity(id, newIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)) .getDecorView(); ((Activity) context).setContentView(view); }
-
Cuando se vuelve a presionar, anulamos en BackPressed en cada actividad de la pestaña para volver a la lista desde la pantalla de detalles
@Override public void onBackPressed() { // TODO Auto-generated method stub super.onBackPressed(); if (MathHelper.SHOW_DETAILS) { Log.e("back", "pressed accepted"); Constants.LIST_ACTIVITY = 1; Constants.SHOW_DETAILS = false; Intent intent = new Intent(this, Tab_widget.class); startActivity(intent); finish(); } }
La parte más importante aquí es Constants.LIST_ACTIVITY = 1; Indica en qué pestaña estamos. Así que las actividades correspondientes tendrán su valor como 0,1,2 … etc
Una vez más para cargar la lista correcta (Activty) cuando se actualiza la actividad de la pestaña tenemos que incluirla en el TabWidget onCreate después de la creación de las pestañas
tabHost.setCurrentTab(Constants.LIST_ACTIVITY);
Esto se implementa en pestañas con múltiples actividades en una sola pestaña .
Sin embargo, cuando varias veces las actividades se llaman error StackOverFlow surge. Intentado muy difícilmente pero incapaz de solucionarlo. Por favor alguien diga un método para solucionar este problema
También necesita reemplazar una actividad en una pestaña, Sin embargo, de la actividad de los niños. ¿Cómo se puede hacer eso?
En cualquier momento sólo puede haber una actividad . Docs sobre esto aquí
- ¿Puedo usar Lazarus Pascal para construir para iOS y Android?
- Gradle: descargar Dependencias de aar-library incluidas