Cómo guardar un diseño hinchado en android después de los cambios de configuración?

Hice una aplicación donde agrego dinámicamente y LinearLayout un textView a un LinearLayout cada vez que un botón es presionado.

Mi problema es que cuando la orientación de la pantalla cambia, que reinicia la actividad, todas las textViews añadidas desaparecen. No sé cómo conservar el estado inflado LinearLayout .

Esta es la parte del código donde inicializo las vistas y los botones:

 private LayoutInflater inflater; private LinearLayout ll; View view; Button add; Button delete; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); inflater = getLayoutInflater(); ll = (LinearLayout)findViewById(R.id.ll); add = (Button)findViewById(R.id.bAdd); delete = (Button)findViewById(R.id.bDelete); add.setOnClickListener(this); delete.setOnClickListener(this); 

Y en el método onClick agrego o elimino textViews:

  @Override public void onClick(View v) { switch (v.getId()) { case R.id.bAdd: { view = inflater.inflate(R.layout.sublayout,ll,true); break; } case R.id.bDelete: { int childSize = ll.getChildCount(); if(0 != childSize) { ll.removeViewAt(childSize -1); } Log.i("InflateLayout", "childsize: " +childSize); } } } 

Puede aliviar la carga de reinicializar su actividad reteniendo un fragmento cuando se reinicia su actividad debido a un cambio de configuración. Este fragmento puede contener referencias a objetos con estado que desea retener.

Cuando el sistema Android cierra la actividad debido a un cambio de configuración, los fragmentos de la actividad que ha marcado para retener no se destruyen. Puede agregar fragmentos de este tipo a su actividad para conservar objetos con estado.

Para retener objetos con estado en un fragmento durante un cambio de configuración de tiempo de ejecución:

1-Extiende la clase Fragment y declara referencias a tus objetos con estado.

2-Call setRetainInstance (boolean) cuando se crea el fragmento.

3-Añade el fragmento a tu actividad.

4-Utilice FragmentManager para recuperar el fragmento cuando se reinicie la actividad.

Más detalles aquí

Cuando gira la pantalla, la actividad se destruye y se vuelve a crear. Debe guardar su estado de actividad para conservar cualquier dato.

Vea aquí eche un vistazo aquí Guardar el estado de la actividad de Android mediante Guardar el estado de la instancia

  • ¿Se recomienda comprobar la vista de null con cada llamada findViewById?
  • Android - diseño personalizado Inflater
  • ¿Por qué utilizar Inflater en listview?
  • Estoy recibiendo error de inflado de diseño al usar android: textSize = "? Android: attr / textAppearanceLarge" en mi xml
  • Android: setContentView () == getViewInflate (). Inflate ()?
  • Haga clic en TextView dentro del diseño lineal inflado
  • InflateException en la llamada al método inflater.inflate ()
  • Inflater en Android Fragmentos
  • ¿Cuál es la forma correcta de obtener el inflador de diseño en Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.