Bonjour à tous !
Voici l'erreur que j'ai quand je veux envoyer je termine mon intent:
Et voici le code de mon activity:08-30 15:21:05.308: ERROR/AndroidRuntime(3032): Uncaught handler: thread main exiting due to uncaught exception
08-30 15:21:05.328: ERROR/AndroidRuntime(3032): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=12, result=-1, data=Intent { cmp=com.trebbe.scanner/.ActivitySaisieQte (has extras) }} to activity {com.trebbe.scanner/com.trebbe.scanner.ActivityAjoutProduits}: java.lang.NullPointerException
08-30 15:21:05.328: ERROR/AndroidRuntime(3032): at android.app.ActivityThread.deliverResults(ActivityThread.java:3504)
08-30 15:21:05.328: ERROR/AndroidRuntime(3032): at android.app.ActivityThread.handleSendResult(ActivityThread.java:3546)
08-30 15:21:05.328: ERROR/AndroidRuntime(3032): at android.app.ActivityThread.access$2700(ActivityThread.java:126)
08-30 15:21:05.328: ERROR/AndroidRuntime(3032): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1962)
08-30 15:21:05.328: ERROR/AndroidRuntime(3032): at android.os.Handler.dispatchMessage(Handler.java:99)
08-30 15:21:05.328: ERROR/AndroidRuntime(3032): at android.os.Looper.loop(Looper.java:123)
08-30 15:21:05.328: ERROR/AndroidRuntime(3032): at android.app.ActivityThread.main(ActivityThread.java:4595)
08-30 15:21:05.328: ERROR/AndroidRuntime(3032): at java.lang.reflect.Method.invokeNative(Native Method)
08-30 15:21:05.328: ERROR/AndroidRuntime(3032): at java.lang.reflect.Method.invoke(Method.java:521)
08-30 15:21:05.328: ERROR/AndroidRuntime(3032): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
08-30 15:21:05.328: ERROR/AndroidRuntime(3032): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
08-30 15:21:05.328: ERROR/AndroidRuntime(3032): at dalvik.system.NativeStart.main(Native Method)
08-30 15:21:05.328: ERROR/AndroidRuntime(3032): Caused by: java.lang.NullPointerException
08-30 15:21:05.328: ERROR/AndroidRuntime(3032): at com.trebbe.scanner.ProduitDevis.<init>(ProduitDevis.java:31)
08-30 15:21:05.328: ERROR/AndroidRuntime(3032): at com.trebbe.scanner.ActivityAjoutProduits.onActivityResult(ActivityAjoutProduits.java:127)
08-30 15:21:05.328: ERROR/AndroidRuntime(3032): at android.app.Activity.dispatchActivityResult(Activity.java:3868)
08-30 15:21:05.328: ERROR/AndroidRuntime(3032): at android.app.ActivityThread.deliverResults(ActivityThread.java:3500)
08-30 15:21:05.328: ERROR/AndroidRuntime(3032): ... 11 more
Le soucis intervient lorsque le listener bt_ouiClick est executé.
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 package com.trebbe.scanner; import java.io.IOException; import org.json.JSONException; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; public class ActivitySaisieQte extends Activity { private String idProd; private Produit produit; private EditText ed_qte; public static final int ACTION_SCAN = 10; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.saisie_qte_produit); //On récupére l'objet Bundle envoyé par l'autre Activity Bundle objetbunble = this.getIntent().getExtras(); //On récupére les données du Bundle if (objetbunble != null && objetbunble.containsKey("idProd")) { idProd = this.getIntent().getStringExtra("idProd"); try { produit = new Produit(idProd); TextView tv = (TextView)findViewById(R.id.tv_description); Button bt_oui = (Button)findViewById(R.id.BtOui); Button bt_non = (Button)findViewById(R.id.BtNon); ImageView iv_prod = (ImageView)findViewById(R.id.img_prod); bt_oui.setOnClickListener(bt_ouiClick); bt_non.setOnClickListener(bt_nonClick); tv.setText(produit.toString()); iv_prod.setImageBitmap(produit.getImage()); ed_qte = (EditText)findViewById(R.id.ed_qte); } catch (JSONException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } else { //Erreur Log.e("barcode erreur","impossible, bundle obsolète !"); setResult(RESULT_CANCELED); finish(); } } private Button.OnClickListener bt_ouiClick = new Button.OnClickListener(){ public void onClick(View v) { if(validation()){ getIntent().putExtra("qte_produit", Integer.parseInt(ed_qte.getText().toString())); getIntent().putExtra("idProduit",Long.parseLong(idProd)); setResult(RESULT_OK,getIntent()); } else{ Toast t = Toast.makeText(getApplicationContext(), "Vous devez saisir une quantité", Toast.LENGTH_SHORT); t.show(); setResult(RESULT_CANCELED); } finish(); } }; private boolean validation(){ return !ed_qte.getText().equals(""); } private Button.OnClickListener bt_nonClick = new Button.OnClickListener(){ public void onClick(View v) { setResult(ACTION_SCAN); finish(); } }; }
Voyez-vous d'où le soucis vient ?
Merci beaucoup par avance !![]()
Partager