9

私のアプリでは、でデータを保存したいと思いますsavedInstanceState()。保存したいArrayList<HashMap<String,String>>。そして今のところ私はそれをすることができません。これが私を悩ませている私のコードです

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

    }

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

    }
4

2 に答える 2

27

以来ArrayListHashMapStringはとSerializableを使用できます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"); 
    }
}

また、またはrestoreから電話していることを確認してください。onRestoreInstanceStateonCreate

于 2013-02-17T18:03:04.740 に答える