v4 getFragmentManager con Actividad – Tipos incompatibles
Tengo una actividad simple que funciona como esperado.
import android.app.Activity; import android.app.FragmentManager; // import android.support.v4.app.FragmentManager; import android.os.Bundle; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // FragmentManager fm = getSupportFragmentManager(); // ActionBarActivity FragmentManager fm = getFragmentManager(); // Activity } }
Entonces lo reemplazé
- El fragmento de cuadro de diálogo personalizado se bloquea cuando se llama al método Setter
- Desvinculación de un fragmento que no activa onSaveInstanceState ()
- ¿Ciclo de vida de un ViewPager y BackStack reemplazados?
- Android: Asistente como actividad con fragmentos
- Fragmento en ViewPager utilizando FragmentPagerAdapter está en blanco la segunda vez que se ve
import android.app.FragmentManager;
con
import android.support.v4.app.FragmentManager;
así que podría apoyar mis dispositivos más viejos. Sin embargo, esto divulga un error:
Incompatible types. Required: android.support.v4.app.FragmentManager Found: android.app.FragmentManager
¿Qué estoy haciendo mal aquí?
La solución popular que encontré es usar getSupportFragmentManager () en su lugar, pero esto sólo funciona para ActionBarActivites [editar – ver respuestas] y FragmentActivities.
no se puede convertir de android.app.FragmentManager a android.support.v4.app.FragmentManager
La otra solución relevante apunta a usar una FragmentActivity en su lugar, pero esto parece tener los mismos problemas heredados.
El método getFragmentManager () no está definido para el tipo MyActivity
import android.support.v4.app.FragmentManager; import android.os.Bundle; import android.support.v4.app.FragmentActivity; public class MainActivity extends FragmentActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //setContentView(R.layout.activity_main); // FragmentManager fm = getSupportFragmentManager(); // ActionBarActivity FragmentManager fm = getFragmentManager(); } }
Estoy bastante seguro de que la solución a esto será en SE ya, pero no es fácil (para mí) para encontrar. El ejemplo mínimo debería ayudar a otras personas a entenderlo también.
- Soy relativamente nuevo en Android.
- ¿Cómo inicio una actividad dentro de un Fragmento?
- Transmisión de datos de un fragmento de actividad a otro fragmento de actividad
- Llame a la actividad de los padres de un fragmento
- ViewPager + FragmentPagerAdapter dentro de un DialogFragment obtiene "IllegalArgumentException: No se encontró ninguna vista ..."
- El cierre de sesión de otra actividad en Google más la integración no es un trabajo
- ¿Cuáles son los diferentes métodos de ciclo de vida onCreate () y onCreateView () en Fragment?
- Si declaro un fragmento en un diseño XML, ¿cómo lo apruebo un paquete?
- ActionBar Tabs con fragmentos en rotación
En su primer caso, si utiliza getSupportFragmentManager()
necesita extender FragmentActivity
o extender ActionBarActivity
(extends FragmentActivity) ya que FragmentActivity
es la clase base para fragmentos basados en soporte.
En tu segundo caso necesitas usar getSupportFragmentManager()
lugar de getFragmentManager()
.
Se introdujeron fragmentos en panal. Para soportar fragmentos debajo del nido de abeja es necesario utilizar fragmentos de la biblioteca de soporte, en cuyo caso es necesario extender FragmentActivity
y utilizar getSupportFragmentManager()
.
use getSupportFragmentManager() instead, but this only works for ActionBarActivites.
Mal, debería funcionar en tu FragmentActivity
, que FragmentActivity está en tu paquete de soporte, cuando estés soportando un dispositivo antiguo, entonces toda tu importación de la activity
, fragment
, fragment managers
, etc., debe tener android.support.v4.
para especificar que está utilizando el paquete de soporte. sin utilizarlo, resultará en un incompatible compile time error.
What am I doing wrong here?
Usted está combinando el paquete de la ayuda con el paquete de la no ayuda que resultan al incompatible compile time error
, como dije arriba.
- ProgressBar Circle no muestra progreso en Android L (API 21)
- Enviar evento clave de retroceso para editar el texto