Bonjour !

Étudiant, je me forme actuellement au développement android, j'aurai besoin d'un peu d'aide. En effet, j'essaye de programmer une petite application qui contient un explorateur de fichier. L'application tourne correctement avec des Activity classique, mais je souhaite maintenant utiliser des fragments.

Voici la portion de code qui me pose problème:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
 
public class ImportFragment extends Fragment implements OnItemClickListener {
 
 
	private FileAdapter fAdapter;
	private TextView position;
	private boolean quitterNav;
	private File courant;
	private File racine;
	private ListView listeFichiers;
 
 
 
	public boolean getQuitter(){
		return this.quitterNav;
	}
 
 
 
	public File getCourant(){
		return this.courant;
	}
 
 
 
	/*@Override
	public void onActivityCreated(Bundle savedInstanceState){
 
	}/*/
 
 
 
	@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
 
		RelativeLayout tmp = (RelativeLayout) RelativeLayout.inflate(this.getActivity(), R.layout.vue_import, null);
 
		this.listeFichiers = (ListView) tmp.findViewById(R.id.listeFichier);
		this.listeFichiers.setOnItemClickListener(this);
		this.position = (TextView) tmp.findViewById(R.id.sLocalisation);
 
 
		Log.e("blabla", ""+this.courant);
 
 
		if(Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())){
 
			if(savedInstanceState == null){
				this.quitterNav = true;
				this.racine = Environment.getExternalStorageDirectory();
				this.courant = this.racine;
				this.position.setText(this.courant.getAbsolutePath());
 
				File[] lFichiersBrute = this.courant.listFiles();
 
				ArrayList<File> lFichiers = new ArrayList<File>();
				ArrayList<File> lDossiers = new ArrayList<File>();
 
				for(File f : lFichiersBrute){
					if(!f.isHidden()){
						lFichiers.add(f);
					}
				}
 
				for(File f : lFichiers){
					if(f.isDirectory()){
						lDossiers.add(f);
					}
				}
 
				lFichiers.removeAll(lDossiers);
 
				this.fAdapter = new FileAdapter(this.getActivity(), lDossiers, lFichiers);
				this.listeFichiers.setAdapter(fAdapter);
			}
			else{
				this.racine = Environment.getExternalStorageDirectory();
				this.quitterNav = savedInstanceState.getBoolean("quitterNav");
 
 
 
				File[] lFichiersBrute = this.courant.listFiles();
 
				ArrayList<File> lFichiers = new ArrayList<File>();
				ArrayList<File> lDossiers = new ArrayList<File>();
 
				for(File f : lFichiersBrute){
					if(!f.isHidden()){
						lFichiers.add(f);
					}
				}
 
				for(File f : lFichiers){
					if(f.isDirectory()){
						lDossiers.add(f);
					}
				}
 
				lFichiers.removeAll(lDossiers);
 
				this.fAdapter = new FileAdapter(this.getActivity(), lDossiers, lFichiers);
				this.listeFichiers.setAdapter(fAdapter);
			}
		}
		else{
			this.quitterNav = true;
			this.position.setText("Erreur : Impossible de lire la mémoire externe");
			this.position.setGravity(Gravity.CENTER);
		}
 
		return tmp;
	}
 
 
 
	protected void onSavedInstanceState(Bundle outState){
		outState.putBoolean("quitter", this.quitterNav);
 
		//Comment ajouter un objet File au Bundle ?
	}
Je souhaiterai donc savoir comment sauvegarder un objet de type java.io.File au moment du changement de configuration (changement de l'orientation de l'appareil dans mon cas) pour le récupérer au moment de la reconstruction de la vue.
Dans le premier cas où j’héritai d'une Activity j'utilisais la méthode "public Object onRetainNonConfigurationInstance ()" avec une classe personnalisée. Je n'arrive pas à trouver un processus similaire avec les fragments.

En vous remerciant d'avance !