android: how do i preserve the data in my arrayadapter/listview when change orientation?

后端 未结 6 621
醉梦人生
醉梦人生 2020-12-16 08:14

as above, is it done automatically? My list was empty once the orientation chMYanges? and nope, i need the orientation change =)

My adapter

public cl         


        
6条回答
  •  抹茶落季
    2020-12-16 08:35

    I solved this problem using OnSaveInstanceState() and OnRestoreInstanceState()

    @Override
        protected void onRestoreInstanceState(Bundle state){
            super.onRestoreInstanceState(state);
            name_array.addAll(state.getStringArrayList("key"));
            setListAdapter(arrayAdapter);
            arrayAdapter.notifyDataSetChanged();
        }
    
        @Override
        protected void onSaveInstanceState(Bundle outState){
            super.onSaveInstanceState(outState);
            outState.putStringArrayList("key",name_array);
        }
    

    name_array is hold in ArrayAdapter arrayAdapter = new ArrayAdapter(this ,R.layout.item,name_array);

    Now when you change from landscape to portrait and reverse, data aren't los

提交回复
热议问题