Ich habe eine Anwendung, wo ich ein TextView dynamisch hinzufügen und löschen, um eine LinearLayout
jedes Mal, wenn eine Taste gedrückt wird.Wie speichere ich ein überhöhtes Layout in Android nach Konfigurationsänderungen?
Mein Problem ist, dass wenn die Bildschirmausrichtung ändert, die die Aktivität neu startet, alle hinzugefügten textViews verschwinden. Ich weiß nicht, wie man den aufgeblasenen Zustand LinearLayout
behält.
Dies ist der Teil des Codes, wo ich die Ansichten und die Tasten initialisieren:
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);
und auf dem I onClick
Methode hinzufügen oder die Textviews löschen:
@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);
}
}
}
möglich Duplikat [Android: Wie Instanz der Aktivität auf Änderung der Bildschirmausrichtung sparen? Ich benutze Objekte, nicht nur einfache Variablen] (http://stackoverflow.com/questions/12291874/android-how-to-save-instance-of-the-activity-on-screen-orientation-change-i-us) –