如何停止处理程序的Andr​​oid?程序、Andr、oid

2023-09-05 07:45:13 作者:有爱就有恨

在我的应用我的处理程序不会停止。如何停止的处理程序? 它继续开始关闭活动后。我能做什么?

在code是:

 处理程序=新的处理程序()
        {
            @覆盖
            公共无效的handleMessage(信息MSG)
            {
                // TODO自动生成方法存根
                super.handleMessage(MSG);
                如果(ⅰ&其中;最大)
                {
                    evnetChangedisplay(ⅰ);
                    我++;
                        handler.sendEmptyMessageDelayed(0,5000);
                    }
                其他
                    {
                        I = 0;
                        handler.sendEmptyMessageDelayed(0,0000);
                    }
                }
        };
handler.sendEmptyMessageDelayed(万元);
 

解决方案

考虑:

 专用处理器将myHandler =新的处理程序(){
        @覆盖
        公共无效的handleMessage(信息MSG){
            开关(msg.what){
                情况下0:
                    this.removeMessages(0);
                    messageSending codeWhat0();
                 打破;
                默认:
                    super.handleMessage(MSG);
                    打破;
            }
        }
    };
 

In My Application my handler doesn't stop. How can I stop the handler? It continues to start after closing the activity. What can i do?

the code is :

 handler = new Handler()
        {
            @Override
            public void handleMessage(Message msg) 
            {
                // TODO Auto-generated method stub
                super.handleMessage(msg);
                if(i<max)
                {
                    evnetChangedisplay(i);
                    i++;
                        handler.sendEmptyMessageDelayed(0, 5000);
                    }
                else
                    {
                        i = 0;
                        handler.sendEmptyMessageDelayed(0,0000);
                    }
                }
        };
handler.sendEmptyMessageDelayed(0,000);

解决方案

Consider:

private Handler myHandler= new Handler(){
        @Override
        public void  handleMessage(Message msg){        
            switch(msg.what){
                case 0:
                    this.removeMessages(0);
                    messageSendingCodeWhat0();
                 break;
                default:
                    super.handleMessage(msg);
                    break;
            }
        }
    };