package com.example.henryho.myapp005_multithreadtest;

import android.content.Context;
import android.os.Bundle;
import android.os.Message;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;


public class MainActivity extends ActionBarActivity {

    private TextView txt_show;
    private Button btn_start;
    CountThread2 countThread2 = new CountThread2();

    android.os.Handler handler = new android.os.Handler() {
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            txt_show.setText(Integer.toString(msg.getData().getInt("count", 0)));
        }
    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        txt_show = (TextView)findViewById(R.id.txt_show);
        btn_start = (Button)findViewById(R.id.btn_start);

        btn_start.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                countThread2.start();
            }
        });
    }

    class CountThread2 extends Thread {
        @Override
        public void run() {
            super.run();
            for (int i = 0; i < 10; i++) {
                try {
                    Thread.sleep(1000);
                    Bundle bundle = new Bundle();
                    bundle.putInt("count", i + 1);
                    Message message = new Message();
                    message.setData(bundle);
                    handler.handleMessage(message);

                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}
