package com.example.administrator.mystudent.StuHandler;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.widget.ImageView;
import android.widget.TextView;
import com.example.administrator.mystudent.R;
public class HandleActivity extends Activity {
private Handler myHandler;
private ImageView mImageView;
private TextView testView;
private MyRunnable myRunnable;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_handle);
mImageView= (ImageView) findViewById(R.id.img);
testView= (TextView) findViewById(R.id.testView);
myHandler=new Handler();
myRunnable=new MyRunnable();
/*myHandler=new Handler(){
@Override
public void handleMessage(Message msg) {
testView.setText("这里更新的值是"+msg.what);
}
};*/
testHandlerPost();
//testThread();
testHandlerpostDelayed();
}
/**
* 多线程测试
*/
private void testThread() {
new Thread(new Runnable() {
@Override
public void run() {
/*//Message message=new Message();
Message message=myHandler.obtainMessage(); //类似上面一行代码,获得一个消息体
message.what=88;
//myHandler.sendMessage(message);
message.sendToTarget(); //和上面一行代码类似,也是发送消息
*/
//以下代码会抛出异常
try {
Thread.sleep(1000);
mImageView.setBackgroundResource(R.drawable.img1);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}).start();
}
/**
* handler的post方法测试
*/
private void testHandlerPost() {
new Thread(){
@Override
public void run() {
myHandler.post(new Runnable() {
@Override
public void run() {
//这里处理UI界面的东西
mImageView.setBackgroundResource(R.drawable.img1);
}
});
}
}.start();
}
/**
* handler的postDelayed方法测试
*/
private void testHandlerpostDelayed() {
new Thread(){
@Override
public void run() {
//延迟几秒执行
myHandler.postDelayed(myRunnable,1000);
}
}.start();
//把消息移除消息队列
myHandler.removeCallbacks(myRunnable);
}
/**
* 多线程类
*/
private class MyRunnable implements Runnable{
@Override
public void run() {
testView.setText("这里更新的值");
}
}
}