Android:如何在屏幕旋转之前在包中保存Object类?

时间:2015-02-17 15:22:23

标签: android-activity

package com.explorateurfichier;

import java.util.ArrayList; import java.io.File;

public class PileFile { private int pos; // position dans le tableau private File [] p;

public PileFile () // creation d’une pile vide de taille 10 { p = new File[10]; pos = -1; } public PileFile (int taille) // creation d’un pile vide de taille donnee { p = new File[taille]; pos = -1; } public void empile (File file) { if (pos == p.length) { // plus d’expace File[] tmp = new File[p.length+10]; for (int i = 0; i < p.length; i++) tmp[i] = p[i]; p = tmp; } p[++pos] = file; } public File depile () { return p[pos--]; } public File sommet () { return p[pos]; } public boolean estVide () { return pos < 0; }

}

1 个答案:

答案 0 :(得分:0)

标准方法是让您的班级实施SerializableParcelable,然后您可以将实例放入Bundle

但是,由于您的类包含File个对象,因此最好使用onRetainNonConfigurationInstance()(已弃用但仍可用)或片段API setRetainInstance()。这样,您就不需要序列化/反序列化对象。您只需向Android提供对象的引用,当您的Activity被销毁并重新创建时,它会保留它,然后您可以将其恢复。