Zrobiłem aplikację, w której dynamicznie dodawam i usuwam textView do LinearLayout
za każdym naciśnięciem przycisku.Jak zapisać zawyżony układ w Androidzie po zmianie konfiguracji?
Mój problem polega na tym, że po zmianie orientacji ekranu, która ponownie uruchamia działanie, wszystkie dodane widoki tekstowe znikają. Nie wiem, jak zachować nadmuchany stan.
Jest to część kodu, w którym zainicjować poglądy i przycisków:
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);
i na metodzie onClick
dodać lub usunąć TextView:
@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);
}
}
}
możliwe duplikat [Android: Jak zapisać wystąpienie działalności na zmianie orientacji ekranu? Używam obiektów, a nie tylko prostych zmiennych (http://stackoverflow.com/questions/12291874/android-how-to-save-instance-of-theactivity-on-screen-orientation-change-i-us) –