public Thread_Time thread_Time ;
private int time = 8;
final Handler handler = new Handler(){public void handleMessage(Message msg){switch (msg.what) {case 1: time--; timeview.setText("" + time); if(time == 0){ winOrLose(butID,computerID); //2個ID比較 timeview.setText("" + time); thread_Time.setFlag(false); } if(time<0){ time = 0; timeview.setText("" + time); } break;default:break;}}};
public void onCreate(Bundle savedInstanceState) {requestWindowFeature(Window.FEATURE_NO_TITLE);super.onCreate(savedInstanceState);setContentView(R.layout.main);//啟動線程thread_Time = new Thread_Time(GameActivity.this);thread_Time.start(); }
public class Thread_Time extends Thread{ GameActivity GA = new GameActivity(); public boolean flag = true;public void setFlag(boolean flag) {this.flag = flag;}public Thread_Time(GameActivity GA) {this.GA = GA;} public void run(){ while(flag){ try{ Thread.sleep(1000); // sleep 1000ms Message message = new Message(); message.what = 1; GA.handler.sendMessage(message); }catch (Exception e) { e.printStackTrace(); } } } }