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; }
}
答案 0 :(得分:0)
标准方法是让您的班级实施Serializable
或Parcelable
,然后您可以将实例放入Bundle
。
但是,由于您的类包含File
个对象,因此最好使用onRetainNonConfigurationInstance()
(已弃用但仍可用)或片段API setRetainInstance()
。这样,您就不需要序列化/反序列化对象。您只需向Android提供对象的引用,当您的Activity被销毁并重新创建时,它会保留它,然后您可以将其恢复。