onSaveInstanceState вызывается, но saveInstanceState в методе onCreate выдает null

поместите некоторые сериализуемые значения в saveinstancestate, но saveInstanceState имеет значение null. onSaveInstanceState() вызывается с сообщением журнала, код работает правильно, но в методе onCreate нулевой указатель перехватывается после восстановления данных, и сохраненное состояние равно нулю. классы правильные. (сериализуемый) установлен. не могу найти ошибку. Спасибо за помощь.

@override
    protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.mb_activity);
            mBList = new ArrayList<MBClass>();
            mKList = new ArrayList<MKClass>();
            nAList = new ArrayList<AClass>();
            aList = new ArrayList<AClass>();
            try {
                mBList = (ArrayList<MBClass>) savedInstanceState.getSerializable("MBList");
                mKList = (ArrayList<MKClass>) savedInstanceState.getSerializable("MKList");
                aList = (ArrayList<AClass>) savedInstanceState.getSerializable("AList");
                nAList = (ArrayList<AClass>) savedInstanceState.getSerializable("NAList");

                Log.i("MB", "State geschrieben");

            } catch (NullPointerException ne) {
                //ne.printStackTrace();
                Log.i("MB", "State Null");
            }
    }
    @override    
    public void onSaveInstanceState(Bundle savedInstanceState) {
                savedInstanceState.putSerializable("MKList", (Serializable) mKList);
                savedInstanceState.putSerializable("MBList", (Serializable) mBList);
                savedInstanceState.putSerializable("NAList", (Serializable) nAList);
                savedInstanceState.putSerializable("AList", (Serializable) aList);
                super.onSaveInstanceState(savedInstanceState);
                Log.i("MB", "onSaveInstanceState");
            }

person Maximilian Notar    schedule 30.05.2019    source источник
comment
Вы сделали свои классы сериализуемыми?   -  person p.mathew13    schedule 30.05.2019
comment
да, данные отправляются последовательно   -  person Maximilian Notar    schedule 30.05.2019


Ответы (1)


Замена Serializable на Parcelable сработала для меня.

@Parcelize // this annotation is needed in Kotlin. Not Sure about Java
class DataClass implements Parcelable {
   //Data members
}
person Vishak A Kamath    schedule 30.05.2019
comment
я попробую, но это займет некоторое время, есть другая проблема - person Maximilian Notar; 30.05.2019