Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Android: la pantalla del fragmento gira

Tengo 1 FragmentActivity con un ViewPager que maneja 2 Fragmentos.


  • Selección de recursos de Android y valores e inconsistencias
  • Búsqueda fonética de lenguas indias
  • ¿Dónde está la lista de intenciones de difusión de Android?
  • ¿Existe una forma de reutilizar el código del constructor para la adaptación
  • ¿Alternativa a la biblioteca showCase para los tutoriales de usuario de la aplicación?
  • Android - Cómo subir fotos de la tarjeta SD a la pared de Facebook
  • Public class MyFragmentActivity extends FragmentActivity {

    private Fragment f1; private Fragment f2; private ViewPager myPager; private MyFragmentAdapter mFragmentsAdapter; private static ArrayAdapter<Fragment> mFragmentArray; public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.my_layout); myViewPager = (ViewPager) findViewById(R.id.pager_acciones); mFragmentArray = new ArrayAdapter<Fragment>(getApplicationContext(),android.R.layout.simple_list_item_1); f1 = new Fragment(); f1 = new Fragment(); mFragmentArray.add(f1); mFragmentArray.add(f2); mFragmentsAdapter = new MyFragmentAdapter(getSupportFragmentManager()); myPager.setAdapter(mFragmentsAdapter); myPartidoPager.setCurrentItem(0); } public static class MyFragmentAdapter extends FragmentPagerAdapter { public AccionesFragmentAdapter(FragmentManager fm) { super(fm); } @Override public int getCount() { return mFragmentArray.getCount(); } @Override public Fragment getItem(int position) { return mFragmentArray.getItem(position); } }

    Mi problema es que cada vez que cambia la orientación de la pantalla, se crea la actividad y también los Fragmentos. No me importa si la actividad se crea de nuevo, pero no quiero que se recreen los fragmentos.

  • Volver a llamar a un fragmento de un DialogFragment
  • Copiar una matriz de bits de la imagen de mapa de bits en la programación ANDROID
  • Superposición de la barra de acción no funciona
  • Algo como Twitter Bootstrap para Android?
  • Problema con la conexión Bluetooth de Android
  • Obtener fecha de datepicker usando dialogfragment
  • 3 Solutions collect form web for “Android: la pantalla del fragmento gira”

    La forma más fácil es lanzar una sentencia if justo después de que el método on create se llame y compruebe si ya tiene algo ahí dentro. Si savedInstanceState no es nulo, no necesita hacer nada:

     if (savedInstanceState == null){ // do whatever } else { // dont do anything } 

    (Esta respuesta es más para las personas que tropiezan con esta pregunta porque no pueden averiguar por qué los fragmentos se vuelven a agregar cada vez que giran su dispositivo)

    Usted podría agregar: android:configChanges="screenSize|orientation" En AndroidManifest.xml .

    Esto evitará que la llamada de Android onCreate en el cambio de orientación de la pantalla. Si desea realizar un manejo especial del cambio de orientación, puede anular onConfigurationChanges .

    Guarde su FragmentAdapter en onSaveInstanceState y devuélvalo a la actividad después de un cambio de configuración con onRetainNonConfigurationInstance para que los fragmentos sobrevivan a un cambio de orientación.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.