安卓 Handler 收不到消息

好为 发布于 2014/07/10 22:30
阅读 1K+
收藏 0

logcat 能打出  "发送消息#################"

Handler 为什么收不消息啊???


package com.example.hicloud;


import android.support.v7.app.ActionBarActivity;
import android.annotation.SuppressLint;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;

import android.util.Log;


public class MainActivity extends ActionBarActivity {
	
	protected static final String TAG = "UI=====>";
	@SuppressLint("HandlerLeak") Handler handler = new Handler() {
	
		@SuppressWarnings("unused")
		public void handlerMessage(Message msg) {
			AlertDialog.Builder builder = new Builder(MainActivity.this);
            builder.setMessage("确认退出吗?");
            builder.show();
            super.handleMessage(msg);
		}
	    	
	};
	
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        new Thread() {
        	public void run() {
        		Log.d(TAG, "线程启用");
        		try { Thread.sleep(1000); } catch(Exception e) {}
        		Log.d(TAG, "发送空消息");
        		handler.sendEmptyMessage(1);
        		
        	}
        	
        }.start();
        
    }
   
}


logcat 能打出  "发送消息#################"

Handler 为什么收不消息啊???

以下是问题补充:

@好为:谁能帮帮我啊 (2014/07/11 08:45)
加载中
0
挽风阁
挽风阁

楼主,方法名拼写错了,应该是这个:

  public void handleMessage(Message msg) {}

你写成:public void handlerMessage(Message msg) {}

你加一个@Override就会提示你错误了

挽风阁
挽风阁
回复 @好为 : 送你一句话,是我去年跟同事总结出来的经验:死活找不到原因的错误一般都是最二逼的错误。
好为
好为
差点被坑死了,谢谢你啊
0
xesam
xesam
你怎么知道没收到,对话框又不会弹出来
0
iuKa
iuKa
你怎么知道没收到,对话框又不会弹出来
0
亓斌哥哥
亓斌哥哥
你怎么知道没收到,对话框又不会弹出来
0
feer
feer
你怎么知道没收到,对话框又不会弹出来
0
aygxylxk
aygxylxk
你要是想显示对话框,应该加上一句:

builder.show();

挽风阁
挽风阁
回复 @好为 : 楼主,方法名拼写错了,应该是这个: public void handleMessage(Message msg) {} 你写成:public void handlerMessage(Message msg) {} 你加一个@Override就会提示你错误了
好为
好为
我换成 Log.d 也是打印不出来哦
返回顶部
顶部