一言不合就上代码
public class HandlerDemoActivity extends AppCompatActivity {
private Button getTime;
private TextView setTime;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_handler_demo);
getTime = (Button) findViewById(R.id.getTime);
setTime = (TextView) findViewById(R.id.setTime);
getTime.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
MyThread myThread = new MyThread();
Thread t1 = new Thread(myThread);
t1.start();
}
});
}
Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
if (msg.what == 0x11){
setTime.setText(msg.getData().getString("time"));
}
}
};
class MyThread implements Runnable{
@Override
public void run() {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
//MM表示月份从1开始,mm表示月份从0开始
//HH表示24小时制,hh表示12小时制
//SimpleDateFormat导这个包--import java.text.SimpleDateFormat
String time = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(new Date());
Bundle bundle = new Bundle();
Message message = new Message();
//将数据绑定到Bundle上
bundle.putString("time",time);
//bunndle传值,耗时,效率低
message.setData(bundle);
//发送message数据
handler.sendMessage(message);
//标志是哪个线程传过来的
message.what = 0x11;
}
}
}
想说的都在注释里
xml文件里就一个Button,一个TextView,so easy