Bonjour
Bonjour
Dans un Thread, je fais un traitement
et je veux afficher un message d'avertissement
et j'ai un message d'erreur sur le "show"
Erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 05-28 14:45:21.900: ERROR/AndroidRuntime(4874): FATAL EXCEPTION: Thread-8 05-28 14:45:21.900: ERROR/AndroidRuntime(4874): java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare() 05-28 14:45:21.900: ERROR/AndroidRuntime(4874): at android.os.Handler.<init>(Handler.java:121) 05-28 14:45:21.900: ERROR/AndroidRuntime(4874): at android.app.Dialog.<init>(Dialog.java:101) 05-28 14:45:21.900: ERROR/AndroidRuntime(4874): at android.app.AlertDialog.<init>(AlertDialog.java:63) 05-28 14:45:21.900: ERROR/AndroidRuntime(4874): at android.app.AlertDialog.<init>(AlertDialog.java:59) 05-28 14:45:21.900: ERROR/AndroidRuntime(4874): at android.app.AlertDialog$Builder.create(AlertDialog.java:786) 05-28 14:45:21.900: ERROR/AndroidRuntime(4874): at android.app.AlertDialog$Builder.show(AlertDialog.java:801) 05-28 14:45:21.900: ERROR/AndroidRuntime(4874): at org.karkam.huggy.alert.LocationAlertManager.alert(LocationAlertManager.java:37) 05-28 14:45:21.900: ERROR/AndroidRuntime(4874): at org.karkam.huggy.alert.LocationAlertManager.manage(LocationAlertManager.java:26) 05-28 14:45:21.900: ERROR/AndroidRuntime(4874): at org.karkam.huggy.service.AlertServiceTask.calculDistance(AlertServiceTask.java:72) 05-28 14:45:21.900: ERROR/AndroidRuntime(4874): at org.karkam.huggy.service.AlertServiceTask.run(AlertServiceTask.java:40) 05-28 14:45:21.900: ERROR/AndroidRuntime(4874): at java.lang.Thread.run(Thread.java:1102)
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 public void run() { // TODO Auto-generated method stub try { while (true) { synchronized (this) { this.wait( 3000 ); AlertDialog.Builder alertbox = new AlertDialog.Builder(c); // set the message to display alertbox.setMessage("This is the alertbox!"); // add a neutral button to the alert box and assign a click listener alertbox.setNeutralButton("Ok", new DialogInterface.OnClickListener() { // click listener on the alert box public void onClick(DialogInterface dialog, int arg1) { // the button was clicked dialog.dismiss(); } }); // show it alertbox.show();; } } } catch (InterruptedException ie) { Log.d(getClass().getSimpleName(), "AlertServiceTask interrupted."); } }
Partager