在handleMessage中显示一个AlertDialog,但会导致事件重复触发,大家有遇到过这个问题吗?
public void handleMessage(Message msg) { 
super.handleMessage(msg);
switch (msg.what) {
case 0x01: 
switch (msg.arg1) {
case 0x01:
//获取成功  
new AlertDialog.Builder(EditsceneActivity.this).
setTitle("提示").
setMessage("获取成功!").setPositiveButton("确定",new DialogInterface.OnClickListener() {
public void onClick(DialogInterface arg0, int arg1) {
}
}).show(); 
break;
                       }
               break;
              }
}

解决方案 »

  1.   

    这个只能说明不停发送了msg.wha == 0x01的消息,看看发送消息的地方是不是多次被调用,其次看看其他消息类型和这个重复了, 看上去0x01好容易重复啊!
      

  2.   

    我有调试跟踪,可以确认 msg.wha == 0x01 只发送了一次。
    当前把显示对话框的语句屏蔽之后,handleMessage就不会重复触发了,非常郁闷的一个问题。
      

  3.   

    估计楼主是因为将对话框屏蔽之后,未看到对话框就以为没有重复触发了吧?建议用Log输出方式进行调用。
      

  4.   

    public void handleMessage(Message msg) { 
            super.handleMessage(msg);
    // 在这里添加log打印你接受到的消息
            switch (msg.what) {
            case 0x01: 
                switch (msg.arg1) {
                case 0x01:
                    //获取成功  
                    new AlertDialog.Builder(EditsceneActivity.this).
    setTitle("提示").
    setMessage("获取成功!").setPositiveButton("确定",new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface arg0, int arg1) {
                            }
                        }).show(); 
                    break;
                           }
                   break;
                  }
    }