直接上代码:
public class MainActivity extends Activity {
private Handler mHandler0;
private Handler mHandler1;
private Button button ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) this.findViewById(R.id.click);
button.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
if(mHandler1 != null){
Message msg = new Message();
msg.what=2;
mHandler1.sendMessage(msg);
}
}
});
mHandler0 = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch(msg.what)
{
case 1:
Toast.makeText(MainActivity.this, "aaaaaaaaq", Toast.LENGTH_SHORT).show();
break;
}
} };
new LooperThread().start();
}
public class LooperThread extends Thread {
@Override
public void run() {
// 将当前线程初始化为Looper线程
Message msg = new Message();
msg.what = 1;
mHandler0.sendMessage(msg);
Looper.prepare();
//...其他处理,如实例化handler
mHandler1 = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch(msg.what)
{
case 2:
Toast.makeText(MainActivity.this, "bbbbbbbbbbbbbbbb", Toast.LENGTH_SHORT).show();
break;
}
}
};
// 开始循环处理消息队列
Looper.loop();
}
}
}
子线程中使用handler