保存哈希映射的ArrayList

Usm*_*iaz 7 android

在我的应用程序中,我想保存数据savedInstanceState().我想保存ArrayList<HashMap<String,String>>.到目前为止,我无法做到这一点.这是我困扰我的代码

@Override
    protected void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        outState.putParcelableArrayList("places", (ArrayList<? extends Parcelable>) places);

    }
Run Code Online (Sandbox Code Playgroud)

restore()方法

private void restore(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        //What should i do here! i have try many things but none of them is helping

    }
Run Code Online (Sandbox Code Playgroud)

Vla*_*nov 25

因为ArrayList,HashMap并且StringSerializable可以使用Bundle.putSerializableBundle.getSerializable

@Override
protected void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    outState.putSerializable("places", places);
}

private void restore(Bundle savedInstanceState) {
    if (savedInstanceState != null) {
        places = (ArrayList<HashMap<String,String>>) savedInstanceState.getSerializable("places"); 
    }
}
Run Code Online (Sandbox Code Playgroud)

另外,请确保您是restoreonRestoreInstanceState或拨打电话onCreate