生手handlemessage() 没调用
新手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,大家帮我看看吧!谢谢。。
------解决方案--------------------
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{ @Override public void onClick(View v) { //调用Handler的post方法,将要执行的线程对象添加到队列当中 if([color=#FF0000]i[/color]<6) handler.post(updateThread); else handler.removeCallbacks(updateThread); } } //创建一个Handler对象 Handler handler = new Handler(); //将要执行的操作写在线程对象的run方法当中 Runnable updateThread = new Runnable(){ int [color=#00FF00]i[/color]=0; @Override public void run() { [color=#00FF00]i[/color]=[color=#00FF00]i[/color]+1; System.out.println("UpdateThread:"+i); } }; }
------解决方案--------------------
i每次都被初始化了~~~