处理程序中的问题与Android中的消息

编程入门 行业动态 更新时间:2024-10-23 15:23:00
本文介绍了处理程序中的问题与Android中的消息的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我在我的应用程序中使用处理程序,在一个屏幕上,单击一个按钮将调用一些代码集。要调用这组代码,我正在向处理程序发送消息并覆盖处理消息方法。第一次单击该按钮时,处理程序运行正常,并且执行了该组代码。当我第二次单击按钮时,出现以下异常。

I am using Handlers in my application, in one screen by clicking a button some set of codes will be called.To invoke that set of code i am sending messages to the Handler and overridden the handle messages method. First time when clicking the button the handler working perfectly and the set of code is executed. When i clicked the button for the second time i am getting the following exception.

05-03 09:45:25.703: ERROR/AndroidRuntime(1971): FATAL EXCEPTION: main 05-03 09:45:25.703: ERROR/AndroidRuntime(1971): android.util.AndroidRuntimeException: { what=1 when=7381217 obj=android.app.AlertDialog@462b5c58 } This message is already in use. 05-03 09:45:25.703: ERROR/AndroidRuntime(1971): at android.os.MessageQueue.enqueueMessage(MessageQueue.java:171) 05-03 09:45:25.703: ERROR/AndroidRuntime(1971): at android.os.Handler.sendMessageAtTime(Handler.java:457) 05-03 09:45:25.703: ERROR/AndroidRuntime(1971): at android.os.Handler.sendMessageDelayed(Handler.java:430) 05-03 09:45:25.703: ERROR/AndroidRuntime(1971): at android.os.Handler.sendMessage(Handler.java:367) 05-03 09:45:25.703: ERROR/AndroidRuntime(1971): at com.mysnob.utils.MessageDialog$8.onClick(MessageDialog.java:93) 05-03 09:45:25.703: ERROR/AndroidRuntime(1971): at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:158) 05-03 09:45:25.703: ERROR/AndroidRuntime(1971): at android.os.Handler.dispatchMessage(Handler.java:99) 05-03 09:45:25.703: ERROR/AndroidRuntime(1971): at android.os.Looper.loop(Looper.java:144) 05-03 09:45:25.703: ERROR/AndroidRuntime(1971): at android.app.ActivityThread.main(ActivityThread.java:4937) 05-03 09:45:25.703: ERROR/AndroidRuntime(1971): at java.lang.reflect.Method.invokeNative(Native Method) 05-03 09:45:25.703: ERROR/AndroidRuntime(1971): at java.lang.reflect.Method.invoke(Method.java:521) 05-03 09:45:25.703: ERROR/AndroidRuntime(1971): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 05-03 09:45:25.703: ERROR/AndroidRuntime(1971): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 05-03 09:45:25.703: ERROR/AndroidRuntime(1971): at dalvik.system.NativeStart.main(Native Method)

我可以理解,在再次发送相同消息时,我遇到了这个异常。但是我不知道如何解决这个问题,如果有人知道,请帮助我。

I can understand that while sending the same message again i am getting this exception. But i don't know how to solve this problem, if anyone knows please help me.

谢谢

Rajapandian

Rajapandian

推荐答案

永远不要重用Message obj。如果您需要一次又一次地播种Message,请记住每次发送消息时都要新建一个Message Message。

You should never reuse a Message obj. Remember to new a new Message obj each time you send a message if you need to seed Message again and again.

更多推荐

处理程序中的问题与Android中的消息

本文发布于:2023-10-13 00:08:40,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1486261.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:消息   程序   Android

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!