Bonjour,
Quand je souhaite démarrer une autre activité, l'émulateur plante et l'erreur ci-dessous apparait dans le logcat
Voici les 2 activités entre lesquelles ça plante :
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 06-11 16:36:36.729: E/AndroidRuntime(607): FATAL EXCEPTION: main 06-11 16:36:36.729: E/AndroidRuntime(607): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.cartedefidelite/com.example.cartedefidelite.DetailClientActivity}: android.content.res.Resources$NotFoundException: String resource ID #0x9 06-11 16:36:36.729: E/AndroidRuntime(607): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1955) 06-11 16:36:36.729: E/AndroidRuntime(607): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1980) 06-11 16:36:36.729: E/AndroidRuntime(607): at android.app.ActivityThread.access$600(ActivityThread.java:122) 06-11 16:36:36.729: E/AndroidRuntime(607): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1146) 06-11 16:36:36.729: E/AndroidRuntime(607): at android.os.Handler.dispatchMessage(Handler.java:99) 06-11 16:36:36.729: E/AndroidRuntime(607): at android.os.Looper.loop(Looper.java:137) 06-11 16:36:36.729: E/AndroidRuntime(607): at android.app.ActivityThread.main(ActivityThread.java:4340) 06-11 16:36:36.729: E/AndroidRuntime(607): at java.lang.reflect.Method.invokeNative(Native Method) 06-11 16:36:36.729: E/AndroidRuntime(607): at java.lang.reflect.Method.invoke(Method.java:511) 06-11 16:36:36.729: E/AndroidRuntime(607): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 06-11 16:36:36.729: E/AndroidRuntime(607): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 06-11 16:36:36.729: E/AndroidRuntime(607): at dalvik.system.NativeStart.main(Native Method) 06-11 16:36:36.729: E/AndroidRuntime(607): Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x9 06-11 16:36:36.729: E/AndroidRuntime(607): at android.content.res.Resources.getText(Resources.java:247) 06-11 16:36:36.729: E/AndroidRuntime(607): at android.widget.TextView.setText(TextView.java:3428) 06-11 16:36:36.729: E/AndroidRuntime(607): at com.example.cartedefidelite.DetailClientActivity.onCreate(DetailClientActivity.java:70) 06-11 16:36:36.729: E/AndroidRuntime(607): at android.app.Activity.performCreate(Activity.java:4465) 06-11 16:36:36.729: E/AndroidRuntime(607): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049) 06-11 16:36:36.729: E/AndroidRuntime(607): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1919) 06-11 16:36:36.729: E/AndroidRuntime(607): ... 11 more
et
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 public class DetailClientActivity extends FideliteActivity{ clientBDD cliBDD = new clientBDD(this); String nomduclient; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Bundle objetbundle = this.getIntent().getExtras(); nomduclient = objetbundle.getString("nomclient"); cliBDD.open(); cli = cliBDD.getClientwithNom(nomduclient); LinearLayout LL = new LinearLayout(this); TextView tv = new TextView(this); TextView tv1 = new TextView(this); TextView tv2 = new TextView(this); TextView tv3 = new TextView(this); TextView tv4 = new TextView(this); TextView tv5 = new TextView(this); TextView tv6 = new TextView(this); TextView tv7 = new TextView(this); TextView tv8 = new TextView(this); LayoutParams LLParam = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); LayoutParams LPtv = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); LayoutParams LPtv1 = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); LayoutParams LPtv2 = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); LayoutParams LPtv3 = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); LayoutParams LPtv4 = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); LayoutParams LPtv5 = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); LayoutParams LPtv6 = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); LayoutParams LPtv7 = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); LayoutParams LPtv8 = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); LL.setOrientation(LinearLayout.VERTICAL); LL.setLayoutParams(LLParam); tv.setLayoutParams(LPtv1); tv1.setLayoutParams(LPtv); tv2.setLayoutParams(LPtv2); tv3.setLayoutParams(LPtv3); tv4.setLayoutParams(LPtv4); tv5.setLayoutParams(LPtv5); tv6.setLayoutParams(LPtv6); tv7.setLayoutParams(LPtv7); tv8.setLayoutParams(LPtv8); LL.addView(tv); LL.addView(tv1); LL.addView(tv2); LL.addView(tv3); LL.addView(tv4); LL.addView(tv5); LL.addView(tv6); LL.addView(tv7); LL.addView(tv8); tv.setText(cli.getNom()); tv1.setText(cli.getPrenom()); tv2.setText(cli.getAdresse()); tv3.setText(cli.getCp()); tv4.setText(cli.getVille()); tv5.setText(cli.getMail()); tv6.setText(cli.getTel()); tv7.setText(cli.getNbpizzaencours()); tv8.setText(cli.getNbpizzatotal()); setContentView(LL); } }
Comment remédier à ce 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 public class FideliteActivity extends AffichageClientActivity /*implements View.OnClickListener*/ { clientBDD clibdd = new clientBDD(this); EditText nombre; Button detail; Button ok; String nomduclient; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.fidelite); //récupération de la valeur de l'edittext Bundle objetbundle = this.getIntent().getExtras(); nomduclient = objetbundle.getString("nomclient"); detail = (Button) findViewById(R.id.Detail); ok = (Button) findViewById(R.id.valider); nombre = (EditText) findViewById(R.id.nb); ok.setOnClickListener(validerListener); detail.setOnClickListener(detailclientListener); } private OnClickListener validerListener = new OnClickListener(){ public void onClick(View v){ if(v==ok){ //récupération de la valeur dans l'EditText String nb = nombre.getText().toString(); int nbpizz = Integer.parseInt(nb); //connexion à la BDD et récupération du nombre de pizza existant cliBDD.open(); cli = cliBDD.getNbpizzawithNom(nomduclient); int nbexist = cli.getNbpizzaencours(); //calcul plus affichage des avantages fidelité nbexist = nbexist + nbpizz; if(nbexist >=30) { Toast.makeText( FideliteActivity.this, "3 pizzas gratuites!", Toast.LENGTH_LONG).show(); nbexist = nbexist-30; } else if(nbexist >=20){ Toast.makeText( FideliteActivity.this, "2 pizzas gratuites!", Toast.LENGTH_LONG).show(); nbexist = nbexist-20; }else if(nbexist >=10){ Toast.makeText( FideliteActivity.this, "1 pizza gratuite!", Toast.LENGTH_LONG).show(); nbexist = nbexist-10; } else{ Toast.makeText( FideliteActivity.this, "Pas de pizza gratuite pour cette fois!", Toast.LENGTH_LONG).show(); } //mis à jour de la BDD //cliBBD.updateClient(int id, client cli); //fermeture de la BDD cliBDD.close(); } } }; private OnClickListener detailclientListener = new OnClickListener(){ public void onClick(View v){ Intent versDetail = new Intent(getApplicationContext(), DetailClientActivity.class); versDetail.putExtra("nomclient",nomduclient); startActivity(versDetail); } }; }
Merci d'avance
Partager