Utilizar actividad o fragmento en la aplicación de Android
Soy nuevo en android. A menudo uso Actividad para cambiar de una pantalla a otra pantalla con otra función. Ejemplo de página principal a página popular. Después de eso, sé de fragmento, pero nunca lo uso antes. Por lo tanto, si tengo una aplicación con varias pestañas en una pantalla, no uso TabHost aquí. Función de cada ficha muy diferente, ex: ficha Inicio, ficha Popular, ficha Noticias, ficha Perfil … como Instagram App. Debo usar eso
- Actividad para cambiar Pantalla a otra Pantalla, significa: Tengo Actividad en Casa, Actividad Popular, … y cambio Actividad cuando cambio Sreen. Cada actividad tiene cada diseño.
- Usar fragmento dentro de una actividad. Tenemos fragmento multi, ejemplo HomeFragment, Fragmento Popular … chang replace Fragment when change Screen.
¿Qué camino es mejor? Quiero preguntar cuando se utiliza sólo la pantalla del teléfono. (Pantalla de tamaño pequeño, no para la tableta).
- Uso de navigationView con tabLayout
- ¿Cómo ejecutar AsyncTask <> localizado en un fragmento de su padre?
- Java.lang.IllegalStateException: El niño especificado ya tiene un padre
- Interacciones entre fragmentos fragmentados de Android
- Cómo poner Google Maps V2 en un fragmento con ViewPager
- Reemplazar un fragmento por otro fragmento
- ¿Cómo implementar Google Maps dentro de un fragmento y usar el objeto GoogleMap?
- Asegúrese de que el nombre de clase existe, es público y tiene un constructor vacío para fragmento público con nombre de clase y constructor vacío
- Android onCreateOptionsMenu llamado dos veces al restaurar estado
- fragment.onCreateView provoca una excepción de puntero nulo
- fragmento parcial android -> deslizar para ver fragmento completo
- NullPointerException relacionado con FragmentManager.popBackStack. ¿Cómo resolver?
- Cómo obtener fragmentos existentes cuando se utiliza FragmentPagerAdapter
Es importante pensar en los dispositivos Android como más de un espectro, que claro "teléfono" vs "tableta" cubos. Hay muchos casos en los que es posible que desee mostrar más información en pantalla en pantallas medium
y large
. A veces, esto se traduce en mostrar dos "Actividades" a la vez.
El uso de Fragmentos requiere poca sobrecarga, pero añade flexibilidad medible, especialmente cuando se considera al principio del proceso de desarrollo. Si utiliza Fragmentos correctamente, adaptarse a pantallas más grandes es extremadamente simple. Sin embargo, hay algunas "gotchas" que pueden hacer Fragmentos parecen ser más desalentadores que en realidad son:
-
Fragment
clases deFragment
deben declararse siemprepublic
(si es una clase anidada, debe serstatic
). -
En la
Activity
principal (oFragmentActivity
), sólo agregue elFragment
raíz sisavedInstanceState == null
. Si está administrando el estado de suFragment
correctamente, todo se maneja para usted (posición de desplazamiento, valores de EditText, etc). -
La
Activity
primaria debe llamar aonSavedInstanceState
para que elFragment
restablezca correctamente su estado. -
setRetainInstance(true)
sólo debe utilizarse para "sin cabeza" Fragmentos. Esto es cuando se utiliza un fragmento que no tiene interfaz de usuario y no se agrega a la pila posterior, que normalmente se utiliza para realizar trabajo dependiente del ciclo de vida. -
Los fragmentos declarados en XML no se pueden utilizar en una
FragmentTransaction
(y viceversa).
Piense en un Fragment
como una vista modular, que proporciona ganchos (callbacks) a su Activity
cuando sucede algo importante. La Activity
decide, basándose en el espacio disponible, si lanzará una nueva Activity
, o mostrará un nuevo Fragment
.
Se puede utilizar de cualquier manera. Si decide utilizar la solución de actividad, cree una clase de actividad base que contenga toda la funcionalidad de la pestaña. Usted no quiere implementar eso en cada actividad una y otra vez.
public class BaseActivity extends Activity { @Override public void onCreate(...) { // Init tabs } // Methods for tab handling }
Cada actividad (Popular, Perfil, Inicio, …) extiende BaseActivity
public class PopularActivity extends BaseActivity { @Override public void onCreate(...) { super.onCreate(...); // Init only the popular activity elements here } }
De esta manera se implementa la pestaña funcionalidad sólo una vez y obtener en cada actividad.
- El administrador de AVD no comenzará más en Eclipse
- WifiManager.SUPPLICANT_CONNECTION_CHANGE_ACTION nunca se despide