Raj*_*ian 6 android exception handler
我在我的应用程序中使用处理程序,在一个屏幕中通过单击按钮将调用一组代码.要调用该组代码,我将消息发送到处理程序并覆盖句柄消息方法.第一次单击按钮时,处理程序完美运行并执行代码集.当我第二次点击该按钮时,我得到以下异常.
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)
Run Code Online (Sandbox Code Playgroud)
我可以理解,在再次发送相同的消息时,我得到了这个例外.但我不知道如何解决这个问题,如果有人知道请帮助我.
谢谢,
Rajapandian
mug*_*vid -2
您需要从处理程序中删除消息。请参阅下面的示例:我使用此处理程序将消息发送到我的对话框(mDialog)
/**
* this property will help send messages to the dialog
*/
Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
mDialog.setMessage((String) msg.obj);
removeMessages(0); //this is very important
}
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14179 次 |
| 最近记录: |