2011-06-30 23 views
61

Básicamente me gustaría saber si podemos tener diseños de fragmentos en dispositivos con sistema operativo Android < 3.0.Fragmentos en Android 2.2.1, 2.3, 2.0. es posible?

Mi aplicación tenía un encabezado en la parte superior con 5 botones diferentes y en el inicio siempre se hace clic en el primer botón por defecto, por lo que la vista debajo de estos botones es para la primera vista. Ahora, cuando haces clic en el segundo botón al lado, no quiero que las imágenes del encabezado se actualicen, pero la vista que se encuentra justo debajo debe actualizarse. Así que es como actualizar los fragmentos debajo de los botones de la imagen del encabezado.

Así que podemos tener fragmentos en Android en dispositivos con OS < 3.0.

Sana.

+0

¿Cómo resolvió este problema? –

Respuesta

140

Tienes que usar las bibliotecas de compatibilidad provistas por Google. Así es como se utiliza en dispositivos Fragmentos < 3.0

  • abierto Eclipse
  • Ventana-> SDK y AVD
  • Android
  • Disponible Paquetes-> paquete androide de la ayuda (instalar este)

Una vez instalado, Haga clic con el botón derecho en el proyecto de Android al que desea agregar el soporte de Fragment.

  • Construir Path-> Configurar Build Path
  • pestaña
  • Bibliotecas
  • Añadir JAR externos
  • Añadir el androide-support-v4.jar (debe estar en la carpeta de descargas de Android bajo extras/Android/soporte/v4

Ahora aplicación es compatible con los fragmentos. Existen algunas diferencias clave para usar el paquete de compatibilidad sobre el uso del SDK 3.0 o superior. Por ejemplo

  1. Las clases de actividad que usan fragmentos deben extenderse FragmentActivity NOT Activity.
  2. en lugar de getFragmentManager() que tienen que utilizar getSupportFragmentManager

disfruta !!!

+8

shuut me! ¡Ni siquiera leí el documento de Android! ¡Estoy avergonzado! – Sana

6

Sí, los fragmentos son compatibles con Android 1.6. Para obtener más información, consulte: Compatibility Library.

+0

hmmm, la documentación (http://developer.android.com/reference/android/app/Fragment.html) dice que es ... desde API Nivel 11 (android 3.0) – Matthieu

+0

He actualizado la respuesta. Originalmente Fragments se introdujo en 3.0, pero hay una biblioteca de compatibilidad para Android 1.6+ que habilita fragmentos. – inazaruk

+0

Agradable ... gracias. – Matthieu

6

En Eclipse Indigo, puede hacer clic derecho en el proyecto -> Herramientas de Android -> Agregar biblioteca de soporte. Entonces, en lugar de usar import android.app.Fragment para OS> 3.0, use import android.support.v4.app.Fragment;

0

sí, Android proporcione la biblioteca de compatibilidad para la compatibilidad con versiones anteriores. seleccione el proyecto-> haga clic derecho-> herramientas android-> agregue biblioteca de soporte

1

Para Android Studio debe hacer clic derecho en el nombre de la aplicación> Abrir configuración de módulo> pestaña Dependencias> hacer clic en '+' para agregar la dependencia .

es necesario agregar esto en todas sus fragmentos:

import android.support.v4.app.Fragment; 

importación esto a su MainActivity:

Utilice esta import android.support.v4.app.FragmentManager; en lugar de import android.app.FragmentManager;

Y en vez de getFragmentManager() usted tiene que utilizar getSupportFragmentManager(); .

Cuestiones relacionadas