读书人

生手handlemessage() 没调用

发布时间: 2012-06-20 20:37:21 作者: rapoo

新手handlemessage() 没调用
public class Handler22Activity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

setContentView(R.layout.main);
System.out.println("dang qian BB xiancheng ID:"+Thread.currentThread().getId());
System.out.println("dang qian BB xiancheng name:"+Thread.currentThread().getName());

HandlerThread ht =new HandlerThread("ht");
ht.start();
t t1 =new t(ht.getLooper());
Message mess=t1.obtainMessage();
//mess.sendToTarget();
t1.sendMessage(mess);
}
class t extends Handler{
//public t(){};
public t(Looper looper){
super(looper);
}

public void handlemessage(Message mess){
System.out.println("dang qian AA xiancheng ID:"+Thread.currentThread().getId());
System.out.println("dang qian AA xiancheng name:"+Thread.currentThread().getName());

}
}

}
为什么打印不出dang qian AA xiancheng ID:这语句,好像handlemessage没有调用,初学android,大家帮我看看吧!谢谢。。

[解决办法]

Java code
               @Override        public void dispatchMessage(Message msg) {            System.out.println("dang qian AA xiancheng ID:" + Thread.currentThread().getId());            System.out.println("dang qian AA xiancheng name:" + Thread.currentThread().getName());            super.dispatchMessage(msg);        }
[解决办法]
Java code
public class HandlerActivity extends Activity {  /** Called when the activity is first created. *///声明一个按钮控件private Button startButton = null;public int [color=#FF0000]i[/color]=0;  @Override  public void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.main);  startButton = (Button)findViewById(R.id.startButton);  startButton.setOnClickListener(new StartButtonListener());     }  class StartButtonListener implements OnClickListener{@Overridepublic void onClick(View v) {//调用Handler的post方法,将要执行的线程对象添加到队列当中if([color=#FF0000]i[/color]<6)handler.post(updateThread);elsehandler.removeCallbacks(updateThread);}   }     //创建一个Handler对象  Handler handler = new Handler();  //将要执行的操作写在线程对象的run方法当中  Runnable updateThread = new Runnable(){  int [color=#00FF00]i[/color]=0;@Overridepublic void run() {[color=#00FF00]i[/color]=[color=#00FF00]i[/color]+1;System.out.println("UpdateThread:"+i);}   };}
[解决办法]
i每次都被初始化了~~~

读书人网 >Android

热点推荐