Bonjour,
J'ai regardé les posts sur lesquels vous parlez de cela, mais pas moyen d'y arriver.
Je veux donc récupérer dans mon application une des préférences :
Voici ma class Preference :
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 package fr.emergenceit.quiz; import android.app.Activity; import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; import android.preference.PreferenceManager; import android.util.Log; import android.view.View; import android.widget.Button; public class ModeJeu extends Activity { Button btnCLM; Button btnSur; Button btnCLMR; Button btnSurR; String idPack; SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.modejeu); // On récupère tous les éléments de notre interface grâce aux ID btnCLMR = ((Button)this.findViewById(R.id.btnCLMR)); btnSurR = ((Button)this.findViewById(R.id.btnSR)); //On récupère lIntent que lon a reçu Intent thisIntent = getIntent(); //On récupère les deux extra grâce à leurs id idPack = thisIntent.getExtras().getString("idPack"); // On attribut un écouteur d'évènement à tous les boutons btnCLMR.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { goToMenuTheme(1); } }); btnSurR.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { goToMenuTheme(2); } }); } protected void goToMenuTheme(int extra) { switch(extra) { case 1: Intent intentClmR = new Intent(this, Quiz.class); intentClmR.putExtra("modeJeu", "Clm"); intentClmR.putExtra("idPack", idPack); intentClmR.putExtra("tempsQuiz", preferences.getString("temps", "30")); // ICI Log.i("ModeJeu", "ClmR"); this.startActivity(intentClmR); finish(); break; case 2: Intent intentSurR = new Intent(this, Quiz.class); intentSurR.putExtra("modeJeu", "Sur"); intentSurR.putExtra("idPack", idPack); intentSurR.putExtra("nbQuestion", preferences.getString("nbQuestions", "20")); // ICI Log.i("ModeJeu", "SurR"); this.startActivity(intentSurR); finish(); break; } } }
Et j'ai donc l'erreur suivante :
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 import android.content.SharedPreferences; import android.content.SharedPreferences.OnSharedPreferenceChangeListener; import android.os.Bundle; import android.preference.PreferenceActivity; public class Preferences extends PreferenceActivity implements OnSharedPreferenceChangeListener { SharedPreferences pref; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //setContentView(R.xml.prefs); addPreferencesFromResource(R.xml.prefs); pref = getPreferenceManager().getSharedPreferences(); pref.registerOnSharedPreferenceChangeListener(this); } @Override public void onSharedPreferenceChanged(SharedPreferences arg0, String arg1) { // TODO Auto-generated method stub } }
Merci d'avance pour vos réponses.
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 java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{fr.emergenceit.quiz/fr.emergenceit.quiz.ModeJeu}: java.lang.NullPointerException android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2417) android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512) android.app.ActivityThread.access$2200(ActivityThread.java:119) android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863) android.os.Handler.dispatchMessage(Handler.java:99) android.os.Looper.loop(Looper.java:123) android.app.ActivityThread.main(ActivityThread.java:4363) java.lang.reflect.Method.invokeNative(Native Method) java.lang.reflect.Method.invoke(Method.java:521) com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860) com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.NullPointerException android.content.ContextWrapper.getPackageName(ContextWrapper.java:120) android.preference.PreferenceManager.getDefaultSharedPreferencesName(PreferenceManager.java:356) android.preference.PreferenceManager.getDefaultSharedPreferences(PreferenceManager.java:351) fr.emergenceit.quiz.ModeJeu.<init>(ModeJeu.java:26) java.lang.Class.newInstanceImpl(Native Method) java.lang.Class.newInstance(Class.java:1479) android.app.Instrumentation.newActivity(Instrumentation.java:1021) android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2409)
Partager