<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.cs.auckland.ac.nz/stageonewiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Qzhu496</id>
	<title>Stage One Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.cs.auckland.ac.nz/stageonewiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Qzhu496"/>
	<link rel="alternate" type="text/html" href="https://wiki.cs.auckland.ac.nz/stageonewiki/index.php/Special:Contributions/Qzhu496"/>
	<updated>2026-06-28T19:40:49Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://wiki.cs.auckland.ac.nz/stageonewiki/index.php?title=User:Qzhu496&amp;diff=16319</id>
		<title>User:Qzhu496</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.auckland.ac.nz/stageonewiki/index.php?title=User:Qzhu496&amp;diff=16319"/>
		<updated>2012-03-13T04:31:23Z</updated>

		<summary type="html">&lt;p&gt;Qzhu496: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h1&amp;gt;Derek Zhu (Qingquan)&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;I currently study &amp;lt;b&amp;gt;Computer Science&amp;lt;/b&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Personal Details&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Here are some of my hobbies:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;--Computer&lt;br /&gt;
--Computer&lt;br /&gt;
--Computer &lt;br /&gt;
--Others&lt;br /&gt;
&lt;br /&gt;
Reading&lt;br /&gt;
&lt;br /&gt;
--Text Books&lt;br /&gt;
--Comics&lt;br /&gt;
--Newspaer&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt; oh, i can use all of the html code here!! &amp;lt;/h3&amp;gt;&lt;br /&gt;
i&#039;m hungry and i want to eat my dinner, BTW&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/b&amp;gt;&amp;lt;b&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;b&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;CODE&amp;gt;&lt;br /&gt;
myHandlerActivity.java&lt;br /&gt;
&amp;lt;pre name=&amp;quot;code&amp;quot; class=&amp;quot;java&amp;quot;&amp;gt;/*&lt;br /&gt;
 * Android toast, handler, progressBar, Button Example&lt;br /&gt;
 * author: Derek Zhu 2012-2-26&lt;br /&gt;
 */&lt;br /&gt;
package com.derek.myHandler;&lt;br /&gt;
&lt;br /&gt;
import android.app.Activity;&lt;br /&gt;
import android.opengl.Visibility;&lt;br /&gt;
import android.os.Bundle;&lt;br /&gt;
import android.os.Handler;&lt;br /&gt;
import android.view.View;&lt;br /&gt;
import android.view.View.OnClickListener;&lt;br /&gt;
import android.widget.Button;&lt;br /&gt;
import android.widget.CheckBox;&lt;br /&gt;
import android.widget.CompoundButton;&lt;br /&gt;
import android.widget.ProgressBar;&lt;br /&gt;
import android.widget.TextView;&lt;br /&gt;
import android.widget.Toast;&lt;br /&gt;
&lt;br /&gt;
public class myHandlerActivity extends Activity {&lt;br /&gt;
&lt;br /&gt;
	private Button startButton = null;&lt;br /&gt;
	private Button endButton = null;&lt;br /&gt;
	private Button resetBarButton = null;&lt;br /&gt;
	private Button speedUpButton = null;&lt;br /&gt;
	private Button speedDownButton = null;&lt;br /&gt;
	private TextView myTextView = null;&lt;br /&gt;
	private CheckBox toastCB = null;&lt;br /&gt;
	private CheckBox barCB = null;&lt;br /&gt;
	private CheckBox textViewCB = null;&lt;br /&gt;
	private ProgressBar bar = null;&lt;br /&gt;
	public int myThreadCounter = 0;&lt;br /&gt;
	public int myThreadCounter4Bar = 0;&lt;br /&gt;
	public int speed = 500;&lt;br /&gt;
	public boolean isToastCBChecked = false;&lt;br /&gt;
	public boolean isBarCBChecked = false;&lt;br /&gt;
	public boolean isTextViewCBChecked = false;&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
	// private CheckBox toastCB = (CheckBox) findViewById(R.id.toastCB);&lt;br /&gt;
	// private CheckBox barCB = (CheckBox) findViewById(R.id.barCB);&lt;br /&gt;
	// private CheckBox textViewCB = (CheckBox) findViewById(R.id.textCB);&lt;br /&gt;
&lt;br /&gt;
	/** Called when the activity is first created. */&lt;br /&gt;
	@Override&lt;br /&gt;
	public void onCreate(Bundle savedInstanceState) {&lt;br /&gt;
		super.onCreate(savedInstanceState);&lt;br /&gt;
		setContentView(R.layout.main);&lt;br /&gt;
&lt;br /&gt;
		// findViewById&lt;br /&gt;
		bar = (ProgressBar) findViewById(R.id.bar);&lt;br /&gt;
		startButton = (Button) findViewById(R.id.startButton);&lt;br /&gt;
		endButton = (Button) findViewById(R.id.endButton);&lt;br /&gt;
		resetBarButton = (Button) findViewById(R.id.resetBar);&lt;br /&gt;
		speedUpButton = (Button) findViewById(R.id.speedUP);&lt;br /&gt;
		speedDownButton = (Button) findViewById(R.id.speedDown);&lt;br /&gt;
		myTextView = (TextView) findViewById(R.id.myTextView);&lt;br /&gt;
		bar = (ProgressBar) findViewById(R.id.bar);&lt;br /&gt;
		&lt;br /&gt;
		// the Buttons&lt;br /&gt;
		startButton.setOnClickListener(new startButtonListener());&lt;br /&gt;
		endButton.setOnClickListener(new endButtonListener());&lt;br /&gt;
		resetBarButton.setOnClickListener(new resetBarButtonListener());&lt;br /&gt;
		speedUpButton.setOnClickListener(new speedUpButtonListener());&lt;br /&gt;
		speedDownButton.setOnClickListener(new speedDownButtonListener());&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
		// the CheckBoxs:&lt;br /&gt;
		CheckBox toastCB = (CheckBox) findViewById(R.id.toastCB);&lt;br /&gt;
		CheckBox barCB = (CheckBox) findViewById(R.id.barCB);&lt;br /&gt;
		CheckBox textViewCB = (CheckBox) findViewById(R.id.textCB);&lt;br /&gt;
&lt;br /&gt;
		toastCB.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {&lt;br /&gt;
&lt;br /&gt;
			@Override&lt;br /&gt;
			public void onCheckedChanged(CompoundButton buttonView,&lt;br /&gt;
					boolean isChecked) {&lt;br /&gt;
				// TODO Auto-generated method stub&lt;br /&gt;
&lt;br /&gt;
				if (isChecked){&lt;br /&gt;
					isToastCBChecked = true;&lt;br /&gt;
					System.out.println(&amp;amp;quot;toastCB is checked&amp;amp;quot;);&lt;br /&gt;
				} else {&lt;br /&gt;
					isToastCBChecked = false;&lt;br /&gt;
					System.out.println(&amp;amp;quot;toastCB is unchecked&amp;amp;quot;);&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
		textViewCB.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {&lt;br /&gt;
&lt;br /&gt;
			@Override&lt;br /&gt;
			public void onCheckedChanged(CompoundButton buttonView,&lt;br /&gt;
					boolean isChecked) {&lt;br /&gt;
				// TODO Auto-generated method stub&lt;br /&gt;
				&lt;br /&gt;
				if (isChecked){&lt;br /&gt;
					isTextViewCBChecked = true;&lt;br /&gt;
					myTextView.setText(&amp;amp;quot;you opened myTextView, i&#039;m gonna have work to do here&amp;amp;quot;);&lt;br /&gt;
				} else {&lt;br /&gt;
					isTextViewCBChecked = false;&lt;br /&gt;
					myTextView.setText(&amp;amp;quot;myTextView was closed manually, yeah, we all know who did that&amp;amp;quot;);&lt;br /&gt;
				}&lt;br /&gt;
				//myTextView.&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
		barCB.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {&lt;br /&gt;
&lt;br /&gt;
			@Override&lt;br /&gt;
			public void onCheckedChanged(CompoundButton buttonView,&lt;br /&gt;
					boolean isChecked) {&lt;br /&gt;
				// TODO Auto-generated method stub&lt;br /&gt;
				&lt;br /&gt;
				if (isChecked){&lt;br /&gt;
					bar.setVisibility(View.VISIBLE);&lt;br /&gt;
					isBarCBChecked = true;&lt;br /&gt;
					System.out.println(&amp;amp;quot;barCB is checked&amp;amp;quot;);&lt;br /&gt;
				} else {&lt;br /&gt;
					bar.setVisibility(View.INVISIBLE);&lt;br /&gt;
					isBarCBChecked = false;&lt;br /&gt;
					System.out.println(&amp;amp;quot;barCB is unchecked&amp;amp;quot;);&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
			}&lt;br /&gt;
		}); &lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		/*&lt;br /&gt;
		 * for (;;){ try { //设置当前显示睡眠1秒 Thread.sleep(1000); } catch&lt;br /&gt;
		 * (InterruptedException e) { // TODO Auto-generated catch block&lt;br /&gt;
		 * e.printStackTrace(); } if (toastCB.isChecked()){&lt;br /&gt;
		 * System.out.println(&amp;amp;quot;toastCB is Checked&amp;amp;quot;); } else { continue; } }&lt;br /&gt;
		 */&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	// TODO button listener&lt;br /&gt;
	class startButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			// TODO Auto-generated method stub&lt;br /&gt;
			// reset my counter&lt;br /&gt;
			myThreadCounter = 0;&lt;br /&gt;
			handler.post(myThread);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}	&lt;br /&gt;
	class endButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			// TODO Auto-generated method stub&lt;br /&gt;
			handler.removeCallbacks(myThread);&lt;br /&gt;
			System.out.println(&amp;amp;quot;Okay, someone removed myThread, who it is!who it is!! Give me ur name!!!&amp;amp;quot;);&lt;br /&gt;
			&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	class resetBarButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			// TODO I kinda Thought this is also a stupid method to reset...&lt;br /&gt;
			myThreadCounter4Bar = myThreadCounter;&lt;br /&gt;
			bar.setProgress(0);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	class speedUpButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			speed += 200;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	class speedDownButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			speed -= 200;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	// handler&lt;br /&gt;
	Handler handler = new Handler();&lt;br /&gt;
	Runnable myThread = new Runnable(){&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void run() {&lt;br /&gt;
			// TODO Auto-generated method stub&lt;br /&gt;
			myThreadCounter += 1;&lt;br /&gt;
			System.out.println(&amp;amp;quot;This is the &amp;amp;quot; + myThreadCounter + &amp;amp;quot; Times my thread running&amp;amp;quot;);&lt;br /&gt;
			// mystuff&lt;br /&gt;
			/*&lt;br /&gt;
			if (toastCB.isChecked()){&lt;br /&gt;
				Toast.makeText(myHandlerActivity.this,&amp;amp;quot;This is the thread running&amp;amp;quot;,Toast.LENGTH_SHORT); // &amp;amp;quot; + myThreadCounter + &amp;amp;quot; Times my &lt;br /&gt;
			}&lt;br /&gt;
			*/&lt;br /&gt;
			// TODO there gotta be some way else other than stupid way like this...   3 boolen? god....&lt;br /&gt;
			System.out.println(&amp;amp;quot;ToastCB? &amp;amp;quot; + isToastCBChecked + &amp;amp;quot; TextViewCB? &amp;amp;quot; + isTextViewCBChecked + &amp;amp;quot; BarCB? &amp;amp;quot; + isBarCBChecked);&lt;br /&gt;
			&lt;br /&gt;
			if (isToastCBChecked){&lt;br /&gt;
				Toast.makeText(myHandlerActivity.this,&amp;amp;quot;This is the &amp;amp;quot; + myThreadCounter + &amp;amp;quot; Times my thread running&amp;amp;quot;,Toast.LENGTH_SHORT).show(); // &lt;br /&gt;
			}&lt;br /&gt;
			if (isTextViewCBChecked){&lt;br /&gt;
				myTextView.setText(&amp;amp;quot;This is the &amp;amp;quot; + myThreadCounter + &amp;amp;quot; Times my thread running&amp;amp;quot;);&lt;br /&gt;
			}&lt;br /&gt;
			if (isBarCBChecked){&lt;br /&gt;
				bar.setProgress(myThreadCounter-myThreadCounter4Bar);&lt;br /&gt;
				System.out.println(&amp;amp;quot;New, the bar total Progress is: &amp;amp;quot; + (int)(myThreadCounter-myThreadCounter4Bar));&lt;br /&gt;
			}&lt;br /&gt;
			// again&lt;br /&gt;
			handler.postDelayed(myThread, speed);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	};&lt;br /&gt;
	&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;CODE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
	布局文件&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre name=&amp;quot;code&amp;quot; class=&amp;quot;html&amp;quot;&amp;gt;&amp;amp;lt;?xml version=&amp;amp;quot;1.0&amp;amp;quot; encoding=&amp;amp;quot;utf-8&amp;amp;quot;?&amp;amp;gt;&lt;br /&gt;
&amp;amp;lt;LinearLayout xmlns:android=&amp;amp;quot;http://schemas.android.com/apk/res/android&amp;amp;quot;&lt;br /&gt;
    android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
    android:layout_height=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
    android:orientation=&amp;amp;quot;vertical&amp;amp;quot; &amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;amp;lt;TextView&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/myTextView&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;myTextView was not open by default, well, don&#039;t blame your self for that&amp;amp;quot; &lt;br /&gt;
        android:cursorVisible=&amp;amp;quot;false&amp;amp;quot;/&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;amp;lt;ProgressBar&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/bar&amp;amp;quot;&lt;br /&gt;
        style=&amp;amp;quot;?android:attr/progressBarStyleHorizontal&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:visibility=&amp;amp;quot;invisible&amp;amp;quot;&lt;br /&gt;
        android:max=&amp;amp;quot;100&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;amp;lt;CheckBox&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/toastCB&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;toastCB&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;CheckBox&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/textCB&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;textCB&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;CheckBox&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/barCB&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;barCB&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;LinearLayout &lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:orientation=&amp;amp;quot;horizontal&amp;amp;quot;&lt;br /&gt;
        &amp;amp;gt;&lt;br /&gt;
	        &lt;br /&gt;
	    &amp;amp;lt;Button&lt;br /&gt;
	        android:id=&amp;amp;quot;@+id/resetBar&amp;amp;quot;&lt;br /&gt;
	        android:layout_width=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:text=&amp;amp;quot;resetBar&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	    &amp;amp;lt;Button&lt;br /&gt;
	        android:id=&amp;amp;quot;@+id/resetTextView&amp;amp;quot;&lt;br /&gt;
	        android:layout_width=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:text=&amp;amp;quot;resetTextView&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	    &amp;amp;lt;Button&lt;br /&gt;
	        android:id=&amp;amp;quot;@+id/speedUP&amp;amp;quot;&lt;br /&gt;
	        android:layout_width=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:text=&amp;amp;quot;speed +&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	    &amp;amp;lt;Button&lt;br /&gt;
	        android:id=&amp;amp;quot;@+id/speedDown&amp;amp;quot;&lt;br /&gt;
	        android:layout_width=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:text=&amp;amp;quot;speed -&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	        &lt;br /&gt;
    &amp;amp;lt;/LinearLayout&amp;amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    &amp;amp;lt;Button&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/startButton&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;start&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;amp;lt;Button&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/endButton&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;end&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
&amp;amp;lt;/LinearLayout&amp;amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;/div&gt;</summary>
		<author><name>Qzhu496</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.auckland.ac.nz/stageonewiki/index.php?title=User:Qzhu496&amp;diff=16315</id>
		<title>User:Qzhu496</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.auckland.ac.nz/stageonewiki/index.php?title=User:Qzhu496&amp;diff=16315"/>
		<updated>2012-03-13T04:30:47Z</updated>

		<summary type="html">&lt;p&gt;Qzhu496: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h1&amp;gt;Derek Zhu (Qingquan)&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;I currently study &amp;lt;b&amp;gt;Computer Science&amp;lt;/b&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Personal Details&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Here are some of my hobbies:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;--Computer&lt;br /&gt;
--Computer&lt;br /&gt;
--Computer &lt;br /&gt;
--Others&lt;br /&gt;
&lt;br /&gt;
Reading&lt;br /&gt;
&lt;br /&gt;
--Text Books&lt;br /&gt;
--Comics&lt;br /&gt;
--Newspaer&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt; oh, i can use all of the html code here!! &amp;lt;/h3&amp;gt;&lt;br /&gt;
i&#039;m hungry and i want to eat my dinner, BTW&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;CODE&amp;gt;&lt;br /&gt;
myHandlerActivity.java&lt;br /&gt;
&amp;lt;pre name=&amp;quot;code&amp;quot; class=&amp;quot;java&amp;quot;&amp;gt;/*&lt;br /&gt;
 * Android toast, handler, progressBar, Button Example&lt;br /&gt;
 * author: Derek Zhu 2012-2-26&lt;br /&gt;
 */&lt;br /&gt;
package com.derek.myHandler;&lt;br /&gt;
&lt;br /&gt;
import android.app.Activity;&lt;br /&gt;
import android.opengl.Visibility;&lt;br /&gt;
import android.os.Bundle;&lt;br /&gt;
import android.os.Handler;&lt;br /&gt;
import android.view.View;&lt;br /&gt;
import android.view.View.OnClickListener;&lt;br /&gt;
import android.widget.Button;&lt;br /&gt;
import android.widget.CheckBox;&lt;br /&gt;
import android.widget.CompoundButton;&lt;br /&gt;
import android.widget.ProgressBar;&lt;br /&gt;
import android.widget.TextView;&lt;br /&gt;
import android.widget.Toast;&lt;br /&gt;
&lt;br /&gt;
public class myHandlerActivity extends Activity {&lt;br /&gt;
&lt;br /&gt;
	private Button startButton = null;&lt;br /&gt;
	private Button endButton = null;&lt;br /&gt;
	private Button resetBarButton = null;&lt;br /&gt;
	private Button speedUpButton = null;&lt;br /&gt;
	private Button speedDownButton = null;&lt;br /&gt;
	private TextView myTextView = null;&lt;br /&gt;
	private CheckBox toastCB = null;&lt;br /&gt;
	private CheckBox barCB = null;&lt;br /&gt;
	private CheckBox textViewCB = null;&lt;br /&gt;
	private ProgressBar bar = null;&lt;br /&gt;
	public int myThreadCounter = 0;&lt;br /&gt;
	public int myThreadCounter4Bar = 0;&lt;br /&gt;
	public int speed = 500;&lt;br /&gt;
	public boolean isToastCBChecked = false;&lt;br /&gt;
	public boolean isBarCBChecked = false;&lt;br /&gt;
	public boolean isTextViewCBChecked = false;&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
	// private CheckBox toastCB = (CheckBox) findViewById(R.id.toastCB);&lt;br /&gt;
	// private CheckBox barCB = (CheckBox) findViewById(R.id.barCB);&lt;br /&gt;
	// private CheckBox textViewCB = (CheckBox) findViewById(R.id.textCB);&lt;br /&gt;
&lt;br /&gt;
	/** Called when the activity is first created. */&lt;br /&gt;
	@Override&lt;br /&gt;
	public void onCreate(Bundle savedInstanceState) {&lt;br /&gt;
		super.onCreate(savedInstanceState);&lt;br /&gt;
		setContentView(R.layout.main);&lt;br /&gt;
&lt;br /&gt;
		// findViewById&lt;br /&gt;
		bar = (ProgressBar) findViewById(R.id.bar);&lt;br /&gt;
		startButton = (Button) findViewById(R.id.startButton);&lt;br /&gt;
		endButton = (Button) findViewById(R.id.endButton);&lt;br /&gt;
		resetBarButton = (Button) findViewById(R.id.resetBar);&lt;br /&gt;
		speedUpButton = (Button) findViewById(R.id.speedUP);&lt;br /&gt;
		speedDownButton = (Button) findViewById(R.id.speedDown);&lt;br /&gt;
		myTextView = (TextView) findViewById(R.id.myTextView);&lt;br /&gt;
		bar = (ProgressBar) findViewById(R.id.bar);&lt;br /&gt;
		&lt;br /&gt;
		// the Buttons&lt;br /&gt;
		startButton.setOnClickListener(new startButtonListener());&lt;br /&gt;
		endButton.setOnClickListener(new endButtonListener());&lt;br /&gt;
		resetBarButton.setOnClickListener(new resetBarButtonListener());&lt;br /&gt;
		speedUpButton.setOnClickListener(new speedUpButtonListener());&lt;br /&gt;
		speedDownButton.setOnClickListener(new speedDownButtonListener());&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
		// the CheckBoxs:&lt;br /&gt;
		CheckBox toastCB = (CheckBox) findViewById(R.id.toastCB);&lt;br /&gt;
		CheckBox barCB = (CheckBox) findViewById(R.id.barCB);&lt;br /&gt;
		CheckBox textViewCB = (CheckBox) findViewById(R.id.textCB);&lt;br /&gt;
&lt;br /&gt;
		toastCB.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {&lt;br /&gt;
&lt;br /&gt;
			@Override&lt;br /&gt;
			public void onCheckedChanged(CompoundButton buttonView,&lt;br /&gt;
					boolean isChecked) {&lt;br /&gt;
				// TODO Auto-generated method stub&lt;br /&gt;
&lt;br /&gt;
				if (isChecked){&lt;br /&gt;
					isToastCBChecked = true;&lt;br /&gt;
					System.out.println(&amp;amp;quot;toastCB is checked&amp;amp;quot;);&lt;br /&gt;
				} else {&lt;br /&gt;
					isToastCBChecked = false;&lt;br /&gt;
					System.out.println(&amp;amp;quot;toastCB is unchecked&amp;amp;quot;);&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
		textViewCB.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {&lt;br /&gt;
&lt;br /&gt;
			@Override&lt;br /&gt;
			public void onCheckedChanged(CompoundButton buttonView,&lt;br /&gt;
					boolean isChecked) {&lt;br /&gt;
				// TODO Auto-generated method stub&lt;br /&gt;
				&lt;br /&gt;
				if (isChecked){&lt;br /&gt;
					isTextViewCBChecked = true;&lt;br /&gt;
					myTextView.setText(&amp;amp;quot;you opened myTextView, i&#039;m gonna have work to do here&amp;amp;quot;);&lt;br /&gt;
				} else {&lt;br /&gt;
					isTextViewCBChecked = false;&lt;br /&gt;
					myTextView.setText(&amp;amp;quot;myTextView was closed manually, yeah, we all know who did that&amp;amp;quot;);&lt;br /&gt;
				}&lt;br /&gt;
				//myTextView.&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
		barCB.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {&lt;br /&gt;
&lt;br /&gt;
			@Override&lt;br /&gt;
			public void onCheckedChanged(CompoundButton buttonView,&lt;br /&gt;
					boolean isChecked) {&lt;br /&gt;
				// TODO Auto-generated method stub&lt;br /&gt;
				&lt;br /&gt;
				if (isChecked){&lt;br /&gt;
					bar.setVisibility(View.VISIBLE);&lt;br /&gt;
					isBarCBChecked = true;&lt;br /&gt;
					System.out.println(&amp;amp;quot;barCB is checked&amp;amp;quot;);&lt;br /&gt;
				} else {&lt;br /&gt;
					bar.setVisibility(View.INVISIBLE);&lt;br /&gt;
					isBarCBChecked = false;&lt;br /&gt;
					System.out.println(&amp;amp;quot;barCB is unchecked&amp;amp;quot;);&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
			}&lt;br /&gt;
		}); &lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		/*&lt;br /&gt;
		 * for (;;){ try { //设置当前显示睡眠1秒 Thread.sleep(1000); } catch&lt;br /&gt;
		 * (InterruptedException e) { // TODO Auto-generated catch block&lt;br /&gt;
		 * e.printStackTrace(); } if (toastCB.isChecked()){&lt;br /&gt;
		 * System.out.println(&amp;amp;quot;toastCB is Checked&amp;amp;quot;); } else { continue; } }&lt;br /&gt;
		 */&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	// TODO button listener&lt;br /&gt;
	class startButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			// TODO Auto-generated method stub&lt;br /&gt;
			// reset my counter&lt;br /&gt;
			myThreadCounter = 0;&lt;br /&gt;
			handler.post(myThread);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}	&lt;br /&gt;
	class endButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			// TODO Auto-generated method stub&lt;br /&gt;
			handler.removeCallbacks(myThread);&lt;br /&gt;
			System.out.println(&amp;amp;quot;Okay, someone removed myThread, who it is!who it is!! Give me ur name!!!&amp;amp;quot;);&lt;br /&gt;
			&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	class resetBarButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			// TODO I kinda Thought this is also a stupid method to reset...&lt;br /&gt;
			myThreadCounter4Bar = myThreadCounter;&lt;br /&gt;
			bar.setProgress(0);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	class speedUpButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			speed += 200;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	class speedDownButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			speed -= 200;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	// handler&lt;br /&gt;
	Handler handler = new Handler();&lt;br /&gt;
	Runnable myThread = new Runnable(){&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void run() {&lt;br /&gt;
			// TODO Auto-generated method stub&lt;br /&gt;
			myThreadCounter += 1;&lt;br /&gt;
			System.out.println(&amp;amp;quot;This is the &amp;amp;quot; + myThreadCounter + &amp;amp;quot; Times my thread running&amp;amp;quot;);&lt;br /&gt;
			// mystuff&lt;br /&gt;
			/*&lt;br /&gt;
			if (toastCB.isChecked()){&lt;br /&gt;
				Toast.makeText(myHandlerActivity.this,&amp;amp;quot;This is the thread running&amp;amp;quot;,Toast.LENGTH_SHORT); // &amp;amp;quot; + myThreadCounter + &amp;amp;quot; Times my &lt;br /&gt;
			}&lt;br /&gt;
			*/&lt;br /&gt;
			// TODO there gotta be some way else other than stupid way like this...   3 boolen? god....&lt;br /&gt;
			System.out.println(&amp;amp;quot;ToastCB? &amp;amp;quot; + isToastCBChecked + &amp;amp;quot; TextViewCB? &amp;amp;quot; + isTextViewCBChecked + &amp;amp;quot; BarCB? &amp;amp;quot; + isBarCBChecked);&lt;br /&gt;
			&lt;br /&gt;
			if (isToastCBChecked){&lt;br /&gt;
				Toast.makeText(myHandlerActivity.this,&amp;amp;quot;This is the &amp;amp;quot; + myThreadCounter + &amp;amp;quot; Times my thread running&amp;amp;quot;,Toast.LENGTH_SHORT).show(); // &lt;br /&gt;
			}&lt;br /&gt;
			if (isTextViewCBChecked){&lt;br /&gt;
				myTextView.setText(&amp;amp;quot;This is the &amp;amp;quot; + myThreadCounter + &amp;amp;quot; Times my thread running&amp;amp;quot;);&lt;br /&gt;
			}&lt;br /&gt;
			if (isBarCBChecked){&lt;br /&gt;
				bar.setProgress(myThreadCounter-myThreadCounter4Bar);&lt;br /&gt;
				System.out.println(&amp;amp;quot;New, the bar total Progress is: &amp;amp;quot; + (int)(myThreadCounter-myThreadCounter4Bar));&lt;br /&gt;
			}&lt;br /&gt;
			// again&lt;br /&gt;
			handler.postDelayed(myThread, speed);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	};&lt;br /&gt;
	&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;CODE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
	布局文件&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre name=&amp;quot;code&amp;quot; class=&amp;quot;html&amp;quot;&amp;gt;&amp;amp;lt;?xml version=&amp;amp;quot;1.0&amp;amp;quot; encoding=&amp;amp;quot;utf-8&amp;amp;quot;?&amp;amp;gt;&lt;br /&gt;
&amp;amp;lt;LinearLayout xmlns:android=&amp;amp;quot;http://schemas.android.com/apk/res/android&amp;amp;quot;&lt;br /&gt;
    android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
    android:layout_height=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
    android:orientation=&amp;amp;quot;vertical&amp;amp;quot; &amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;amp;lt;TextView&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/myTextView&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;myTextView was not open by default, well, don&#039;t blame your self for that&amp;amp;quot; &lt;br /&gt;
        android:cursorVisible=&amp;amp;quot;false&amp;amp;quot;/&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;amp;lt;ProgressBar&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/bar&amp;amp;quot;&lt;br /&gt;
        style=&amp;amp;quot;?android:attr/progressBarStyleHorizontal&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:visibility=&amp;amp;quot;invisible&amp;amp;quot;&lt;br /&gt;
        android:max=&amp;amp;quot;100&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;amp;lt;CheckBox&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/toastCB&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;toastCB&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;CheckBox&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/textCB&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;textCB&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;CheckBox&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/barCB&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;barCB&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;LinearLayout &lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:orientation=&amp;amp;quot;horizontal&amp;amp;quot;&lt;br /&gt;
        &amp;amp;gt;&lt;br /&gt;
	        &lt;br /&gt;
	    &amp;amp;lt;Button&lt;br /&gt;
	        android:id=&amp;amp;quot;@+id/resetBar&amp;amp;quot;&lt;br /&gt;
	        android:layout_width=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:text=&amp;amp;quot;resetBar&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	    &amp;amp;lt;Button&lt;br /&gt;
	        android:id=&amp;amp;quot;@+id/resetTextView&amp;amp;quot;&lt;br /&gt;
	        android:layout_width=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:text=&amp;amp;quot;resetTextView&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	    &amp;amp;lt;Button&lt;br /&gt;
	        android:id=&amp;amp;quot;@+id/speedUP&amp;amp;quot;&lt;br /&gt;
	        android:layout_width=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:text=&amp;amp;quot;speed +&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	    &amp;amp;lt;Button&lt;br /&gt;
	        android:id=&amp;amp;quot;@+id/speedDown&amp;amp;quot;&lt;br /&gt;
	        android:layout_width=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:text=&amp;amp;quot;speed -&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	        &lt;br /&gt;
    &amp;amp;lt;/LinearLayout&amp;amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    &amp;amp;lt;Button&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/startButton&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;start&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;amp;lt;Button&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/endButton&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;end&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
&amp;amp;lt;/LinearLayout&amp;amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;/div&gt;</summary>
		<author><name>Qzhu496</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.auckland.ac.nz/stageonewiki/index.php?title=User:Qzhu496&amp;diff=16313</id>
		<title>User:Qzhu496</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.auckland.ac.nz/stageonewiki/index.php?title=User:Qzhu496&amp;diff=16313"/>
		<updated>2012-03-13T04:30:17Z</updated>

		<summary type="html">&lt;p&gt;Qzhu496: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h1&amp;gt;Derek Zhu (Qingquan)&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;I currently study &amp;lt;b&amp;gt;Computer Science&amp;lt;/b&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Personal Details&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Here are some of my hobbies:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;--Computer&lt;br /&gt;
--Computer&lt;br /&gt;
--Computer &lt;br /&gt;
--Others&lt;br /&gt;
&lt;br /&gt;
Reading&lt;br /&gt;
&lt;br /&gt;
--Text Books&lt;br /&gt;
--Comics&lt;br /&gt;
--Newspaer&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt; oh, i can use all of the html code here!! &amp;lt;/h3&amp;gt;&lt;br /&gt;
i&#039;m hungry and i want to eat my dinner, BTW&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;&lt;br /&gt;
&amp;lt;CODE&amp;gt;&lt;br /&gt;
myHandlerActivity.java&lt;br /&gt;
&amp;lt;pre name=&amp;quot;code&amp;quot; class=&amp;quot;java&amp;quot;&amp;gt;/*&lt;br /&gt;
 * Android toast, handler, progressBar, Button Example&lt;br /&gt;
 * author: Derek Zhu 2012-2-26&lt;br /&gt;
 */&lt;br /&gt;
package com.derek.myHandler;&lt;br /&gt;
&lt;br /&gt;
import android.app.Activity;&lt;br /&gt;
import android.opengl.Visibility;&lt;br /&gt;
import android.os.Bundle;&lt;br /&gt;
import android.os.Handler;&lt;br /&gt;
import android.view.View;&lt;br /&gt;
import android.view.View.OnClickListener;&lt;br /&gt;
import android.widget.Button;&lt;br /&gt;
import android.widget.CheckBox;&lt;br /&gt;
import android.widget.CompoundButton;&lt;br /&gt;
import android.widget.ProgressBar;&lt;br /&gt;
import android.widget.TextView;&lt;br /&gt;
import android.widget.Toast;&lt;br /&gt;
&lt;br /&gt;
public class myHandlerActivity extends Activity {&lt;br /&gt;
&lt;br /&gt;
	private Button startButton = null;&lt;br /&gt;
	private Button endButton = null;&lt;br /&gt;
	private Button resetBarButton = null;&lt;br /&gt;
	private Button speedUpButton = null;&lt;br /&gt;
	private Button speedDownButton = null;&lt;br /&gt;
	private TextView myTextView = null;&lt;br /&gt;
	private CheckBox toastCB = null;&lt;br /&gt;
	private CheckBox barCB = null;&lt;br /&gt;
	private CheckBox textViewCB = null;&lt;br /&gt;
	private ProgressBar bar = null;&lt;br /&gt;
	public int myThreadCounter = 0;&lt;br /&gt;
	public int myThreadCounter4Bar = 0;&lt;br /&gt;
	public int speed = 500;&lt;br /&gt;
	public boolean isToastCBChecked = false;&lt;br /&gt;
	public boolean isBarCBChecked = false;&lt;br /&gt;
	public boolean isTextViewCBChecked = false;&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
	// private CheckBox toastCB = (CheckBox) findViewById(R.id.toastCB);&lt;br /&gt;
	// private CheckBox barCB = (CheckBox) findViewById(R.id.barCB);&lt;br /&gt;
	// private CheckBox textViewCB = (CheckBox) findViewById(R.id.textCB);&lt;br /&gt;
&lt;br /&gt;
	/** Called when the activity is first created. */&lt;br /&gt;
	@Override&lt;br /&gt;
	public void onCreate(Bundle savedInstanceState) {&lt;br /&gt;
		super.onCreate(savedInstanceState);&lt;br /&gt;
		setContentView(R.layout.main);&lt;br /&gt;
&lt;br /&gt;
		// findViewById&lt;br /&gt;
		bar = (ProgressBar) findViewById(R.id.bar);&lt;br /&gt;
		startButton = (Button) findViewById(R.id.startButton);&lt;br /&gt;
		endButton = (Button) findViewById(R.id.endButton);&lt;br /&gt;
		resetBarButton = (Button) findViewById(R.id.resetBar);&lt;br /&gt;
		speedUpButton = (Button) findViewById(R.id.speedUP);&lt;br /&gt;
		speedDownButton = (Button) findViewById(R.id.speedDown);&lt;br /&gt;
		myTextView = (TextView) findViewById(R.id.myTextView);&lt;br /&gt;
		bar = (ProgressBar) findViewById(R.id.bar);&lt;br /&gt;
		&lt;br /&gt;
		// the Buttons&lt;br /&gt;
		startButton.setOnClickListener(new startButtonListener());&lt;br /&gt;
		endButton.setOnClickListener(new endButtonListener());&lt;br /&gt;
		resetBarButton.setOnClickListener(new resetBarButtonListener());&lt;br /&gt;
		speedUpButton.setOnClickListener(new speedUpButtonListener());&lt;br /&gt;
		speedDownButton.setOnClickListener(new speedDownButtonListener());&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
		// the CheckBoxs:&lt;br /&gt;
		CheckBox toastCB = (CheckBox) findViewById(R.id.toastCB);&lt;br /&gt;
		CheckBox barCB = (CheckBox) findViewById(R.id.barCB);&lt;br /&gt;
		CheckBox textViewCB = (CheckBox) findViewById(R.id.textCB);&lt;br /&gt;
&lt;br /&gt;
		toastCB.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {&lt;br /&gt;
&lt;br /&gt;
			@Override&lt;br /&gt;
			public void onCheckedChanged(CompoundButton buttonView,&lt;br /&gt;
					boolean isChecked) {&lt;br /&gt;
				// TODO Auto-generated method stub&lt;br /&gt;
&lt;br /&gt;
				if (isChecked){&lt;br /&gt;
					isToastCBChecked = true;&lt;br /&gt;
					System.out.println(&amp;amp;quot;toastCB is checked&amp;amp;quot;);&lt;br /&gt;
				} else {&lt;br /&gt;
					isToastCBChecked = false;&lt;br /&gt;
					System.out.println(&amp;amp;quot;toastCB is unchecked&amp;amp;quot;);&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
		textViewCB.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {&lt;br /&gt;
&lt;br /&gt;
			@Override&lt;br /&gt;
			public void onCheckedChanged(CompoundButton buttonView,&lt;br /&gt;
					boolean isChecked) {&lt;br /&gt;
				// TODO Auto-generated method stub&lt;br /&gt;
				&lt;br /&gt;
				if (isChecked){&lt;br /&gt;
					isTextViewCBChecked = true;&lt;br /&gt;
					myTextView.setText(&amp;amp;quot;you opened myTextView, i&#039;m gonna have work to do here&amp;amp;quot;);&lt;br /&gt;
				} else {&lt;br /&gt;
					isTextViewCBChecked = false;&lt;br /&gt;
					myTextView.setText(&amp;amp;quot;myTextView was closed manually, yeah, we all know who did that&amp;amp;quot;);&lt;br /&gt;
				}&lt;br /&gt;
				//myTextView.&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
		barCB.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {&lt;br /&gt;
&lt;br /&gt;
			@Override&lt;br /&gt;
			public void onCheckedChanged(CompoundButton buttonView,&lt;br /&gt;
					boolean isChecked) {&lt;br /&gt;
				// TODO Auto-generated method stub&lt;br /&gt;
				&lt;br /&gt;
				if (isChecked){&lt;br /&gt;
					bar.setVisibility(View.VISIBLE);&lt;br /&gt;
					isBarCBChecked = true;&lt;br /&gt;
					System.out.println(&amp;amp;quot;barCB is checked&amp;amp;quot;);&lt;br /&gt;
				} else {&lt;br /&gt;
					bar.setVisibility(View.INVISIBLE);&lt;br /&gt;
					isBarCBChecked = false;&lt;br /&gt;
					System.out.println(&amp;amp;quot;barCB is unchecked&amp;amp;quot;);&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
			}&lt;br /&gt;
		}); &lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		/*&lt;br /&gt;
		 * for (;;){ try { //设置当前显示睡眠1秒 Thread.sleep(1000); } catch&lt;br /&gt;
		 * (InterruptedException e) { // TODO Auto-generated catch block&lt;br /&gt;
		 * e.printStackTrace(); } if (toastCB.isChecked()){&lt;br /&gt;
		 * System.out.println(&amp;amp;quot;toastCB is Checked&amp;amp;quot;); } else { continue; } }&lt;br /&gt;
		 */&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	// TODO button listener&lt;br /&gt;
	class startButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			// TODO Auto-generated method stub&lt;br /&gt;
			// reset my counter&lt;br /&gt;
			myThreadCounter = 0;&lt;br /&gt;
			handler.post(myThread);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}	&lt;br /&gt;
	class endButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			// TODO Auto-generated method stub&lt;br /&gt;
			handler.removeCallbacks(myThread);&lt;br /&gt;
			System.out.println(&amp;amp;quot;Okay, someone removed myThread, who it is!who it is!! Give me ur name!!!&amp;amp;quot;);&lt;br /&gt;
			&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	class resetBarButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			// TODO I kinda Thought this is also a stupid method to reset...&lt;br /&gt;
			myThreadCounter4Bar = myThreadCounter;&lt;br /&gt;
			bar.setProgress(0);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	class speedUpButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			speed += 200;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	class speedDownButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			speed -= 200;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	// handler&lt;br /&gt;
	Handler handler = new Handler();&lt;br /&gt;
	Runnable myThread = new Runnable(){&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void run() {&lt;br /&gt;
			// TODO Auto-generated method stub&lt;br /&gt;
			myThreadCounter += 1;&lt;br /&gt;
			System.out.println(&amp;amp;quot;This is the &amp;amp;quot; + myThreadCounter + &amp;amp;quot; Times my thread running&amp;amp;quot;);&lt;br /&gt;
			// mystuff&lt;br /&gt;
			/*&lt;br /&gt;
			if (toastCB.isChecked()){&lt;br /&gt;
				Toast.makeText(myHandlerActivity.this,&amp;amp;quot;This is the thread running&amp;amp;quot;,Toast.LENGTH_SHORT); // &amp;amp;quot; + myThreadCounter + &amp;amp;quot; Times my &lt;br /&gt;
			}&lt;br /&gt;
			*/&lt;br /&gt;
			// TODO there gotta be some way else other than stupid way like this...   3 boolen? god....&lt;br /&gt;
			System.out.println(&amp;amp;quot;ToastCB? &amp;amp;quot; + isToastCBChecked + &amp;amp;quot; TextViewCB? &amp;amp;quot; + isTextViewCBChecked + &amp;amp;quot; BarCB? &amp;amp;quot; + isBarCBChecked);&lt;br /&gt;
			&lt;br /&gt;
			if (isToastCBChecked){&lt;br /&gt;
				Toast.makeText(myHandlerActivity.this,&amp;amp;quot;This is the &amp;amp;quot; + myThreadCounter + &amp;amp;quot; Times my thread running&amp;amp;quot;,Toast.LENGTH_SHORT).show(); // &lt;br /&gt;
			}&lt;br /&gt;
			if (isTextViewCBChecked){&lt;br /&gt;
				myTextView.setText(&amp;amp;quot;This is the &amp;amp;quot; + myThreadCounter + &amp;amp;quot; Times my thread running&amp;amp;quot;);&lt;br /&gt;
			}&lt;br /&gt;
			if (isBarCBChecked){&lt;br /&gt;
				bar.setProgress(myThreadCounter-myThreadCounter4Bar);&lt;br /&gt;
				System.out.println(&amp;amp;quot;New, the bar total Progress is: &amp;amp;quot; + (int)(myThreadCounter-myThreadCounter4Bar));&lt;br /&gt;
			}&lt;br /&gt;
			// again&lt;br /&gt;
			handler.postDelayed(myThread, speed);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	};&lt;br /&gt;
	&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;CODE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
	布局文件&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre name=&amp;quot;code&amp;quot; class=&amp;quot;html&amp;quot;&amp;gt;&amp;amp;lt;?xml version=&amp;amp;quot;1.0&amp;amp;quot; encoding=&amp;amp;quot;utf-8&amp;amp;quot;?&amp;amp;gt;&lt;br /&gt;
&amp;amp;lt;LinearLayout xmlns:android=&amp;amp;quot;http://schemas.android.com/apk/res/android&amp;amp;quot;&lt;br /&gt;
    android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
    android:layout_height=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
    android:orientation=&amp;amp;quot;vertical&amp;amp;quot; &amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;amp;lt;TextView&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/myTextView&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;myTextView was not open by default, well, don&#039;t blame your self for that&amp;amp;quot; &lt;br /&gt;
        android:cursorVisible=&amp;amp;quot;false&amp;amp;quot;/&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;amp;lt;ProgressBar&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/bar&amp;amp;quot;&lt;br /&gt;
        style=&amp;amp;quot;?android:attr/progressBarStyleHorizontal&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:visibility=&amp;amp;quot;invisible&amp;amp;quot;&lt;br /&gt;
        android:max=&amp;amp;quot;100&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;amp;lt;CheckBox&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/toastCB&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;toastCB&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;CheckBox&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/textCB&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;textCB&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;CheckBox&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/barCB&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;barCB&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;LinearLayout &lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:orientation=&amp;amp;quot;horizontal&amp;amp;quot;&lt;br /&gt;
        &amp;amp;gt;&lt;br /&gt;
	        &lt;br /&gt;
	    &amp;amp;lt;Button&lt;br /&gt;
	        android:id=&amp;amp;quot;@+id/resetBar&amp;amp;quot;&lt;br /&gt;
	        android:layout_width=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:text=&amp;amp;quot;resetBar&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	    &amp;amp;lt;Button&lt;br /&gt;
	        android:id=&amp;amp;quot;@+id/resetTextView&amp;amp;quot;&lt;br /&gt;
	        android:layout_width=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:text=&amp;amp;quot;resetTextView&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	    &amp;amp;lt;Button&lt;br /&gt;
	        android:id=&amp;amp;quot;@+id/speedUP&amp;amp;quot;&lt;br /&gt;
	        android:layout_width=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:text=&amp;amp;quot;speed +&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	    &amp;amp;lt;Button&lt;br /&gt;
	        android:id=&amp;amp;quot;@+id/speedDown&amp;amp;quot;&lt;br /&gt;
	        android:layout_width=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:text=&amp;amp;quot;speed -&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	        &lt;br /&gt;
    &amp;amp;lt;/LinearLayout&amp;amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    &amp;amp;lt;Button&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/startButton&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;start&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;amp;lt;Button&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/endButton&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;end&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
&amp;amp;lt;/LinearLayout&amp;amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;/div&gt;</summary>
		<author><name>Qzhu496</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.auckland.ac.nz/stageonewiki/index.php?title=User:Qzhu496&amp;diff=16311</id>
		<title>User:Qzhu496</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.auckland.ac.nz/stageonewiki/index.php?title=User:Qzhu496&amp;diff=16311"/>
		<updated>2012-03-13T04:29:45Z</updated>

		<summary type="html">&lt;p&gt;Qzhu496: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h1&amp;gt;Derek Zhu (Qingquan)&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;I currently study &amp;lt;b&amp;gt;Computer Science&amp;lt;/b&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Personal Details&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Here are some of my hobbies:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;--Computer&lt;br /&gt;
--Computer&lt;br /&gt;
--Computer &lt;br /&gt;
--Others&lt;br /&gt;
&lt;br /&gt;
Reading&lt;br /&gt;
&lt;br /&gt;
--Text Books&lt;br /&gt;
--Comics&lt;br /&gt;
--Newspaer&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt; oh, i can use all of the html code here!! &amp;lt;/h3&amp;gt;&lt;br /&gt;
i&#039;m hungry and i want to eat my dinner, BTW&lt;br /&gt;
&amp;lt;CODE&amp;gt;&lt;br /&gt;
myHandlerActivity.java&lt;br /&gt;
&amp;lt;pre name=&amp;quot;code&amp;quot; class=&amp;quot;java&amp;quot;&amp;gt;/*&lt;br /&gt;
 * Android toast, handler, progressBar, Button Example&lt;br /&gt;
 * author: Derek Zhu 2012-2-26&lt;br /&gt;
 */&lt;br /&gt;
package com.derek.myHandler;&lt;br /&gt;
&lt;br /&gt;
import android.app.Activity;&lt;br /&gt;
import android.opengl.Visibility;&lt;br /&gt;
import android.os.Bundle;&lt;br /&gt;
import android.os.Handler;&lt;br /&gt;
import android.view.View;&lt;br /&gt;
import android.view.View.OnClickListener;&lt;br /&gt;
import android.widget.Button;&lt;br /&gt;
import android.widget.CheckBox;&lt;br /&gt;
import android.widget.CompoundButton;&lt;br /&gt;
import android.widget.ProgressBar;&lt;br /&gt;
import android.widget.TextView;&lt;br /&gt;
import android.widget.Toast;&lt;br /&gt;
&lt;br /&gt;
public class myHandlerActivity extends Activity {&lt;br /&gt;
&lt;br /&gt;
	private Button startButton = null;&lt;br /&gt;
	private Button endButton = null;&lt;br /&gt;
	private Button resetBarButton = null;&lt;br /&gt;
	private Button speedUpButton = null;&lt;br /&gt;
	private Button speedDownButton = null;&lt;br /&gt;
	private TextView myTextView = null;&lt;br /&gt;
	private CheckBox toastCB = null;&lt;br /&gt;
	private CheckBox barCB = null;&lt;br /&gt;
	private CheckBox textViewCB = null;&lt;br /&gt;
	private ProgressBar bar = null;&lt;br /&gt;
	public int myThreadCounter = 0;&lt;br /&gt;
	public int myThreadCounter4Bar = 0;&lt;br /&gt;
	public int speed = 500;&lt;br /&gt;
	public boolean isToastCBChecked = false;&lt;br /&gt;
	public boolean isBarCBChecked = false;&lt;br /&gt;
	public boolean isTextViewCBChecked = false;&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
	// private CheckBox toastCB = (CheckBox) findViewById(R.id.toastCB);&lt;br /&gt;
	// private CheckBox barCB = (CheckBox) findViewById(R.id.barCB);&lt;br /&gt;
	// private CheckBox textViewCB = (CheckBox) findViewById(R.id.textCB);&lt;br /&gt;
&lt;br /&gt;
	/** Called when the activity is first created. */&lt;br /&gt;
	@Override&lt;br /&gt;
	public void onCreate(Bundle savedInstanceState) {&lt;br /&gt;
		super.onCreate(savedInstanceState);&lt;br /&gt;
		setContentView(R.layout.main);&lt;br /&gt;
&lt;br /&gt;
		// findViewById&lt;br /&gt;
		bar = (ProgressBar) findViewById(R.id.bar);&lt;br /&gt;
		startButton = (Button) findViewById(R.id.startButton);&lt;br /&gt;
		endButton = (Button) findViewById(R.id.endButton);&lt;br /&gt;
		resetBarButton = (Button) findViewById(R.id.resetBar);&lt;br /&gt;
		speedUpButton = (Button) findViewById(R.id.speedUP);&lt;br /&gt;
		speedDownButton = (Button) findViewById(R.id.speedDown);&lt;br /&gt;
		myTextView = (TextView) findViewById(R.id.myTextView);&lt;br /&gt;
		bar = (ProgressBar) findViewById(R.id.bar);&lt;br /&gt;
		&lt;br /&gt;
		// the Buttons&lt;br /&gt;
		startButton.setOnClickListener(new startButtonListener());&lt;br /&gt;
		endButton.setOnClickListener(new endButtonListener());&lt;br /&gt;
		resetBarButton.setOnClickListener(new resetBarButtonListener());&lt;br /&gt;
		speedUpButton.setOnClickListener(new speedUpButtonListener());&lt;br /&gt;
		speedDownButton.setOnClickListener(new speedDownButtonListener());&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
		// the CheckBoxs:&lt;br /&gt;
		CheckBox toastCB = (CheckBox) findViewById(R.id.toastCB);&lt;br /&gt;
		CheckBox barCB = (CheckBox) findViewById(R.id.barCB);&lt;br /&gt;
		CheckBox textViewCB = (CheckBox) findViewById(R.id.textCB);&lt;br /&gt;
&lt;br /&gt;
		toastCB.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {&lt;br /&gt;
&lt;br /&gt;
			@Override&lt;br /&gt;
			public void onCheckedChanged(CompoundButton buttonView,&lt;br /&gt;
					boolean isChecked) {&lt;br /&gt;
				// TODO Auto-generated method stub&lt;br /&gt;
&lt;br /&gt;
				if (isChecked){&lt;br /&gt;
					isToastCBChecked = true;&lt;br /&gt;
					System.out.println(&amp;amp;quot;toastCB is checked&amp;amp;quot;);&lt;br /&gt;
				} else {&lt;br /&gt;
					isToastCBChecked = false;&lt;br /&gt;
					System.out.println(&amp;amp;quot;toastCB is unchecked&amp;amp;quot;);&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
		textViewCB.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {&lt;br /&gt;
&lt;br /&gt;
			@Override&lt;br /&gt;
			public void onCheckedChanged(CompoundButton buttonView,&lt;br /&gt;
					boolean isChecked) {&lt;br /&gt;
				// TODO Auto-generated method stub&lt;br /&gt;
				&lt;br /&gt;
				if (isChecked){&lt;br /&gt;
					isTextViewCBChecked = true;&lt;br /&gt;
					myTextView.setText(&amp;amp;quot;you opened myTextView, i&#039;m gonna have work to do here&amp;amp;quot;);&lt;br /&gt;
				} else {&lt;br /&gt;
					isTextViewCBChecked = false;&lt;br /&gt;
					myTextView.setText(&amp;amp;quot;myTextView was closed manually, yeah, we all know who did that&amp;amp;quot;);&lt;br /&gt;
				}&lt;br /&gt;
				//myTextView.&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
		barCB.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {&lt;br /&gt;
&lt;br /&gt;
			@Override&lt;br /&gt;
			public void onCheckedChanged(CompoundButton buttonView,&lt;br /&gt;
					boolean isChecked) {&lt;br /&gt;
				// TODO Auto-generated method stub&lt;br /&gt;
				&lt;br /&gt;
				if (isChecked){&lt;br /&gt;
					bar.setVisibility(View.VISIBLE);&lt;br /&gt;
					isBarCBChecked = true;&lt;br /&gt;
					System.out.println(&amp;amp;quot;barCB is checked&amp;amp;quot;);&lt;br /&gt;
				} else {&lt;br /&gt;
					bar.setVisibility(View.INVISIBLE);&lt;br /&gt;
					isBarCBChecked = false;&lt;br /&gt;
					System.out.println(&amp;amp;quot;barCB is unchecked&amp;amp;quot;);&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
			}&lt;br /&gt;
		}); &lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		/*&lt;br /&gt;
		 * for (;;){ try { //设置当前显示睡眠1秒 Thread.sleep(1000); } catch&lt;br /&gt;
		 * (InterruptedException e) { // TODO Auto-generated catch block&lt;br /&gt;
		 * e.printStackTrace(); } if (toastCB.isChecked()){&lt;br /&gt;
		 * System.out.println(&amp;amp;quot;toastCB is Checked&amp;amp;quot;); } else { continue; } }&lt;br /&gt;
		 */&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	// TODO button listener&lt;br /&gt;
	class startButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			// TODO Auto-generated method stub&lt;br /&gt;
			// reset my counter&lt;br /&gt;
			myThreadCounter = 0;&lt;br /&gt;
			handler.post(myThread);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}	&lt;br /&gt;
	class endButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			// TODO Auto-generated method stub&lt;br /&gt;
			handler.removeCallbacks(myThread);&lt;br /&gt;
			System.out.println(&amp;amp;quot;Okay, someone removed myThread, who it is!who it is!! Give me ur name!!!&amp;amp;quot;);&lt;br /&gt;
			&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	class resetBarButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			// TODO I kinda Thought this is also a stupid method to reset...&lt;br /&gt;
			myThreadCounter4Bar = myThreadCounter;&lt;br /&gt;
			bar.setProgress(0);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	class speedUpButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			speed += 200;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	class speedDownButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			speed -= 200;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	// handler&lt;br /&gt;
	Handler handler = new Handler();&lt;br /&gt;
	Runnable myThread = new Runnable(){&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void run() {&lt;br /&gt;
			// TODO Auto-generated method stub&lt;br /&gt;
			myThreadCounter += 1;&lt;br /&gt;
			System.out.println(&amp;amp;quot;This is the &amp;amp;quot; + myThreadCounter + &amp;amp;quot; Times my thread running&amp;amp;quot;);&lt;br /&gt;
			// mystuff&lt;br /&gt;
			/*&lt;br /&gt;
			if (toastCB.isChecked()){&lt;br /&gt;
				Toast.makeText(myHandlerActivity.this,&amp;amp;quot;This is the thread running&amp;amp;quot;,Toast.LENGTH_SHORT); // &amp;amp;quot; + myThreadCounter + &amp;amp;quot; Times my &lt;br /&gt;
			}&lt;br /&gt;
			*/&lt;br /&gt;
			// TODO there gotta be some way else other than stupid way like this...   3 boolen? god....&lt;br /&gt;
			System.out.println(&amp;amp;quot;ToastCB? &amp;amp;quot; + isToastCBChecked + &amp;amp;quot; TextViewCB? &amp;amp;quot; + isTextViewCBChecked + &amp;amp;quot; BarCB? &amp;amp;quot; + isBarCBChecked);&lt;br /&gt;
			&lt;br /&gt;
			if (isToastCBChecked){&lt;br /&gt;
				Toast.makeText(myHandlerActivity.this,&amp;amp;quot;This is the &amp;amp;quot; + myThreadCounter + &amp;amp;quot; Times my thread running&amp;amp;quot;,Toast.LENGTH_SHORT).show(); // &lt;br /&gt;
			}&lt;br /&gt;
			if (isTextViewCBChecked){&lt;br /&gt;
				myTextView.setText(&amp;amp;quot;This is the &amp;amp;quot; + myThreadCounter + &amp;amp;quot; Times my thread running&amp;amp;quot;);&lt;br /&gt;
			}&lt;br /&gt;
			if (isBarCBChecked){&lt;br /&gt;
				bar.setProgress(myThreadCounter-myThreadCounter4Bar);&lt;br /&gt;
				System.out.println(&amp;amp;quot;New, the bar total Progress is: &amp;amp;quot; + (int)(myThreadCounter-myThreadCounter4Bar));&lt;br /&gt;
			}&lt;br /&gt;
			// again&lt;br /&gt;
			handler.postDelayed(myThread, speed);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	};&lt;br /&gt;
	&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;CODE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
	布局文件&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre name=&amp;quot;code&amp;quot; class=&amp;quot;html&amp;quot;&amp;gt;&amp;amp;lt;?xml version=&amp;amp;quot;1.0&amp;amp;quot; encoding=&amp;amp;quot;utf-8&amp;amp;quot;?&amp;amp;gt;&lt;br /&gt;
&amp;amp;lt;LinearLayout xmlns:android=&amp;amp;quot;http://schemas.android.com/apk/res/android&amp;amp;quot;&lt;br /&gt;
    android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
    android:layout_height=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
    android:orientation=&amp;amp;quot;vertical&amp;amp;quot; &amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;amp;lt;TextView&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/myTextView&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;myTextView was not open by default, well, don&#039;t blame your self for that&amp;amp;quot; &lt;br /&gt;
        android:cursorVisible=&amp;amp;quot;false&amp;amp;quot;/&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;amp;lt;ProgressBar&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/bar&amp;amp;quot;&lt;br /&gt;
        style=&amp;amp;quot;?android:attr/progressBarStyleHorizontal&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:visibility=&amp;amp;quot;invisible&amp;amp;quot;&lt;br /&gt;
        android:max=&amp;amp;quot;100&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;amp;lt;CheckBox&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/toastCB&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;toastCB&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;CheckBox&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/textCB&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;textCB&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;CheckBox&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/barCB&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;barCB&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;LinearLayout &lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:orientation=&amp;amp;quot;horizontal&amp;amp;quot;&lt;br /&gt;
        &amp;amp;gt;&lt;br /&gt;
	        &lt;br /&gt;
	    &amp;amp;lt;Button&lt;br /&gt;
	        android:id=&amp;amp;quot;@+id/resetBar&amp;amp;quot;&lt;br /&gt;
	        android:layout_width=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:text=&amp;amp;quot;resetBar&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	    &amp;amp;lt;Button&lt;br /&gt;
	        android:id=&amp;amp;quot;@+id/resetTextView&amp;amp;quot;&lt;br /&gt;
	        android:layout_width=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:text=&amp;amp;quot;resetTextView&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	    &amp;amp;lt;Button&lt;br /&gt;
	        android:id=&amp;amp;quot;@+id/speedUP&amp;amp;quot;&lt;br /&gt;
	        android:layout_width=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:text=&amp;amp;quot;speed +&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	    &amp;amp;lt;Button&lt;br /&gt;
	        android:id=&amp;amp;quot;@+id/speedDown&amp;amp;quot;&lt;br /&gt;
	        android:layout_width=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:text=&amp;amp;quot;speed -&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	        &lt;br /&gt;
    &amp;amp;lt;/LinearLayout&amp;amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    &amp;amp;lt;Button&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/startButton&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;start&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;amp;lt;Button&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/endButton&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;end&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
&amp;amp;lt;/LinearLayout&amp;amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;/div&gt;</summary>
		<author><name>Qzhu496</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.auckland.ac.nz/stageonewiki/index.php?title=User:Qzhu496&amp;diff=16309</id>
		<title>User:Qzhu496</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.auckland.ac.nz/stageonewiki/index.php?title=User:Qzhu496&amp;diff=16309"/>
		<updated>2012-03-13T04:28:00Z</updated>

		<summary type="html">&lt;p&gt;Qzhu496: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h1&amp;gt;Derek Zhu (Qingquan)&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;I currently study &amp;lt;b&amp;gt;Computer Science&amp;lt;/b&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Personal Details&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Here are some of my hobbies:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/br&amp;gt;Computer&lt;br /&gt;
&amp;lt;/br&amp;gt;Computer&lt;br /&gt;
Computer &lt;br /&gt;
Others&lt;br /&gt;
&lt;br /&gt;
Reading&lt;br /&gt;
Text Books&lt;br /&gt;
Comics&lt;br /&gt;
Newspaer&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt; oh, i can use all of the html code here!! &amp;lt;/h3&amp;gt;&lt;br /&gt;
i&#039;m hungry and i want to eat my dinner, BTW&lt;br /&gt;
&amp;lt;CODE&amp;gt;&lt;br /&gt;
myHandlerActivity.java&lt;br /&gt;
&amp;lt;pre name=&amp;quot;code&amp;quot; class=&amp;quot;java&amp;quot;&amp;gt;/*&lt;br /&gt;
 * Android toast, handler, progressBar, Button Example&lt;br /&gt;
 * author: Derek Zhu 2012-2-26&lt;br /&gt;
 */&lt;br /&gt;
package com.derek.myHandler;&lt;br /&gt;
&lt;br /&gt;
import android.app.Activity;&lt;br /&gt;
import android.opengl.Visibility;&lt;br /&gt;
import android.os.Bundle;&lt;br /&gt;
import android.os.Handler;&lt;br /&gt;
import android.view.View;&lt;br /&gt;
import android.view.View.OnClickListener;&lt;br /&gt;
import android.widget.Button;&lt;br /&gt;
import android.widget.CheckBox;&lt;br /&gt;
import android.widget.CompoundButton;&lt;br /&gt;
import android.widget.ProgressBar;&lt;br /&gt;
import android.widget.TextView;&lt;br /&gt;
import android.widget.Toast;&lt;br /&gt;
&lt;br /&gt;
public class myHandlerActivity extends Activity {&lt;br /&gt;
&lt;br /&gt;
	private Button startButton = null;&lt;br /&gt;
	private Button endButton = null;&lt;br /&gt;
	private Button resetBarButton = null;&lt;br /&gt;
	private Button speedUpButton = null;&lt;br /&gt;
	private Button speedDownButton = null;&lt;br /&gt;
	private TextView myTextView = null;&lt;br /&gt;
	private CheckBox toastCB = null;&lt;br /&gt;
	private CheckBox barCB = null;&lt;br /&gt;
	private CheckBox textViewCB = null;&lt;br /&gt;
	private ProgressBar bar = null;&lt;br /&gt;
	public int myThreadCounter = 0;&lt;br /&gt;
	public int myThreadCounter4Bar = 0;&lt;br /&gt;
	public int speed = 500;&lt;br /&gt;
	public boolean isToastCBChecked = false;&lt;br /&gt;
	public boolean isBarCBChecked = false;&lt;br /&gt;
	public boolean isTextViewCBChecked = false;&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
	// private CheckBox toastCB = (CheckBox) findViewById(R.id.toastCB);&lt;br /&gt;
	// private CheckBox barCB = (CheckBox) findViewById(R.id.barCB);&lt;br /&gt;
	// private CheckBox textViewCB = (CheckBox) findViewById(R.id.textCB);&lt;br /&gt;
&lt;br /&gt;
	/** Called when the activity is first created. */&lt;br /&gt;
	@Override&lt;br /&gt;
	public void onCreate(Bundle savedInstanceState) {&lt;br /&gt;
		super.onCreate(savedInstanceState);&lt;br /&gt;
		setContentView(R.layout.main);&lt;br /&gt;
&lt;br /&gt;
		// findViewById&lt;br /&gt;
		bar = (ProgressBar) findViewById(R.id.bar);&lt;br /&gt;
		startButton = (Button) findViewById(R.id.startButton);&lt;br /&gt;
		endButton = (Button) findViewById(R.id.endButton);&lt;br /&gt;
		resetBarButton = (Button) findViewById(R.id.resetBar);&lt;br /&gt;
		speedUpButton = (Button) findViewById(R.id.speedUP);&lt;br /&gt;
		speedDownButton = (Button) findViewById(R.id.speedDown);&lt;br /&gt;
		myTextView = (TextView) findViewById(R.id.myTextView);&lt;br /&gt;
		bar = (ProgressBar) findViewById(R.id.bar);&lt;br /&gt;
		&lt;br /&gt;
		// the Buttons&lt;br /&gt;
		startButton.setOnClickListener(new startButtonListener());&lt;br /&gt;
		endButton.setOnClickListener(new endButtonListener());&lt;br /&gt;
		resetBarButton.setOnClickListener(new resetBarButtonListener());&lt;br /&gt;
		speedUpButton.setOnClickListener(new speedUpButtonListener());&lt;br /&gt;
		speedDownButton.setOnClickListener(new speedDownButtonListener());&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
		// the CheckBoxs:&lt;br /&gt;
		CheckBox toastCB = (CheckBox) findViewById(R.id.toastCB);&lt;br /&gt;
		CheckBox barCB = (CheckBox) findViewById(R.id.barCB);&lt;br /&gt;
		CheckBox textViewCB = (CheckBox) findViewById(R.id.textCB);&lt;br /&gt;
&lt;br /&gt;
		toastCB.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {&lt;br /&gt;
&lt;br /&gt;
			@Override&lt;br /&gt;
			public void onCheckedChanged(CompoundButton buttonView,&lt;br /&gt;
					boolean isChecked) {&lt;br /&gt;
				// TODO Auto-generated method stub&lt;br /&gt;
&lt;br /&gt;
				if (isChecked){&lt;br /&gt;
					isToastCBChecked = true;&lt;br /&gt;
					System.out.println(&amp;amp;quot;toastCB is checked&amp;amp;quot;);&lt;br /&gt;
				} else {&lt;br /&gt;
					isToastCBChecked = false;&lt;br /&gt;
					System.out.println(&amp;amp;quot;toastCB is unchecked&amp;amp;quot;);&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
		textViewCB.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {&lt;br /&gt;
&lt;br /&gt;
			@Override&lt;br /&gt;
			public void onCheckedChanged(CompoundButton buttonView,&lt;br /&gt;
					boolean isChecked) {&lt;br /&gt;
				// TODO Auto-generated method stub&lt;br /&gt;
				&lt;br /&gt;
				if (isChecked){&lt;br /&gt;
					isTextViewCBChecked = true;&lt;br /&gt;
					myTextView.setText(&amp;amp;quot;you opened myTextView, i&#039;m gonna have work to do here&amp;amp;quot;);&lt;br /&gt;
				} else {&lt;br /&gt;
					isTextViewCBChecked = false;&lt;br /&gt;
					myTextView.setText(&amp;amp;quot;myTextView was closed manually, yeah, we all know who did that&amp;amp;quot;);&lt;br /&gt;
				}&lt;br /&gt;
				//myTextView.&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
		barCB.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {&lt;br /&gt;
&lt;br /&gt;
			@Override&lt;br /&gt;
			public void onCheckedChanged(CompoundButton buttonView,&lt;br /&gt;
					boolean isChecked) {&lt;br /&gt;
				// TODO Auto-generated method stub&lt;br /&gt;
				&lt;br /&gt;
				if (isChecked){&lt;br /&gt;
					bar.setVisibility(View.VISIBLE);&lt;br /&gt;
					isBarCBChecked = true;&lt;br /&gt;
					System.out.println(&amp;amp;quot;barCB is checked&amp;amp;quot;);&lt;br /&gt;
				} else {&lt;br /&gt;
					bar.setVisibility(View.INVISIBLE);&lt;br /&gt;
					isBarCBChecked = false;&lt;br /&gt;
					System.out.println(&amp;amp;quot;barCB is unchecked&amp;amp;quot;);&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
			}&lt;br /&gt;
		}); &lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		/*&lt;br /&gt;
		 * for (;;){ try { //设置当前显示睡眠1秒 Thread.sleep(1000); } catch&lt;br /&gt;
		 * (InterruptedException e) { // TODO Auto-generated catch block&lt;br /&gt;
		 * e.printStackTrace(); } if (toastCB.isChecked()){&lt;br /&gt;
		 * System.out.println(&amp;amp;quot;toastCB is Checked&amp;amp;quot;); } else { continue; } }&lt;br /&gt;
		 */&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	// TODO button listener&lt;br /&gt;
	class startButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			// TODO Auto-generated method stub&lt;br /&gt;
			// reset my counter&lt;br /&gt;
			myThreadCounter = 0;&lt;br /&gt;
			handler.post(myThread);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}	&lt;br /&gt;
	class endButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			// TODO Auto-generated method stub&lt;br /&gt;
			handler.removeCallbacks(myThread);&lt;br /&gt;
			System.out.println(&amp;amp;quot;Okay, someone removed myThread, who it is!who it is!! Give me ur name!!!&amp;amp;quot;);&lt;br /&gt;
			&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	class resetBarButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			// TODO I kinda Thought this is also a stupid method to reset...&lt;br /&gt;
			myThreadCounter4Bar = myThreadCounter;&lt;br /&gt;
			bar.setProgress(0);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	class speedUpButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			speed += 200;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	class speedDownButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			speed -= 200;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	// handler&lt;br /&gt;
	Handler handler = new Handler();&lt;br /&gt;
	Runnable myThread = new Runnable(){&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void run() {&lt;br /&gt;
			// TODO Auto-generated method stub&lt;br /&gt;
			myThreadCounter += 1;&lt;br /&gt;
			System.out.println(&amp;amp;quot;This is the &amp;amp;quot; + myThreadCounter + &amp;amp;quot; Times my thread running&amp;amp;quot;);&lt;br /&gt;
			// mystuff&lt;br /&gt;
			/*&lt;br /&gt;
			if (toastCB.isChecked()){&lt;br /&gt;
				Toast.makeText(myHandlerActivity.this,&amp;amp;quot;This is the thread running&amp;amp;quot;,Toast.LENGTH_SHORT); // &amp;amp;quot; + myThreadCounter + &amp;amp;quot; Times my &lt;br /&gt;
			}&lt;br /&gt;
			*/&lt;br /&gt;
			// TODO there gotta be some way else other than stupid way like this...   3 boolen? god....&lt;br /&gt;
			System.out.println(&amp;amp;quot;ToastCB? &amp;amp;quot; + isToastCBChecked + &amp;amp;quot; TextViewCB? &amp;amp;quot; + isTextViewCBChecked + &amp;amp;quot; BarCB? &amp;amp;quot; + isBarCBChecked);&lt;br /&gt;
			&lt;br /&gt;
			if (isToastCBChecked){&lt;br /&gt;
				Toast.makeText(myHandlerActivity.this,&amp;amp;quot;This is the &amp;amp;quot; + myThreadCounter + &amp;amp;quot; Times my thread running&amp;amp;quot;,Toast.LENGTH_SHORT).show(); // &lt;br /&gt;
			}&lt;br /&gt;
			if (isTextViewCBChecked){&lt;br /&gt;
				myTextView.setText(&amp;amp;quot;This is the &amp;amp;quot; + myThreadCounter + &amp;amp;quot; Times my thread running&amp;amp;quot;);&lt;br /&gt;
			}&lt;br /&gt;
			if (isBarCBChecked){&lt;br /&gt;
				bar.setProgress(myThreadCounter-myThreadCounter4Bar);&lt;br /&gt;
				System.out.println(&amp;amp;quot;New, the bar total Progress is: &amp;amp;quot; + (int)(myThreadCounter-myThreadCounter4Bar));&lt;br /&gt;
			}&lt;br /&gt;
			// again&lt;br /&gt;
			handler.postDelayed(myThread, speed);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	};&lt;br /&gt;
	&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;CODE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
	布局文件&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre name=&amp;quot;code&amp;quot; class=&amp;quot;html&amp;quot;&amp;gt;&amp;amp;lt;?xml version=&amp;amp;quot;1.0&amp;amp;quot; encoding=&amp;amp;quot;utf-8&amp;amp;quot;?&amp;amp;gt;&lt;br /&gt;
&amp;amp;lt;LinearLayout xmlns:android=&amp;amp;quot;http://schemas.android.com/apk/res/android&amp;amp;quot;&lt;br /&gt;
    android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
    android:layout_height=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
    android:orientation=&amp;amp;quot;vertical&amp;amp;quot; &amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;amp;lt;TextView&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/myTextView&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;myTextView was not open by default, well, don&#039;t blame your self for that&amp;amp;quot; &lt;br /&gt;
        android:cursorVisible=&amp;amp;quot;false&amp;amp;quot;/&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;amp;lt;ProgressBar&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/bar&amp;amp;quot;&lt;br /&gt;
        style=&amp;amp;quot;?android:attr/progressBarStyleHorizontal&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:visibility=&amp;amp;quot;invisible&amp;amp;quot;&lt;br /&gt;
        android:max=&amp;amp;quot;100&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;amp;lt;CheckBox&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/toastCB&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;toastCB&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;CheckBox&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/textCB&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;textCB&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;CheckBox&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/barCB&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;barCB&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;LinearLayout &lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:orientation=&amp;amp;quot;horizontal&amp;amp;quot;&lt;br /&gt;
        &amp;amp;gt;&lt;br /&gt;
	        &lt;br /&gt;
	    &amp;amp;lt;Button&lt;br /&gt;
	        android:id=&amp;amp;quot;@+id/resetBar&amp;amp;quot;&lt;br /&gt;
	        android:layout_width=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:text=&amp;amp;quot;resetBar&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	    &amp;amp;lt;Button&lt;br /&gt;
	        android:id=&amp;amp;quot;@+id/resetTextView&amp;amp;quot;&lt;br /&gt;
	        android:layout_width=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:text=&amp;amp;quot;resetTextView&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	    &amp;amp;lt;Button&lt;br /&gt;
	        android:id=&amp;amp;quot;@+id/speedUP&amp;amp;quot;&lt;br /&gt;
	        android:layout_width=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:text=&amp;amp;quot;speed +&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	    &amp;amp;lt;Button&lt;br /&gt;
	        android:id=&amp;amp;quot;@+id/speedDown&amp;amp;quot;&lt;br /&gt;
	        android:layout_width=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:text=&amp;amp;quot;speed -&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	        &lt;br /&gt;
    &amp;amp;lt;/LinearLayout&amp;amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    &amp;amp;lt;Button&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/startButton&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;start&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;amp;lt;Button&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/endButton&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;end&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
&amp;amp;lt;/LinearLayout&amp;amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;/div&gt;</summary>
		<author><name>Qzhu496</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.auckland.ac.nz/stageonewiki/index.php?title=User:Qzhu496&amp;diff=16307</id>
		<title>User:Qzhu496</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.auckland.ac.nz/stageonewiki/index.php?title=User:Qzhu496&amp;diff=16307"/>
		<updated>2012-03-13T04:27:25Z</updated>

		<summary type="html">&lt;p&gt;Qzhu496: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h1&amp;gt;Derek Zhu (Qingquan)&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;I currently study &amp;lt;b&amp;gt;Computer Science&amp;lt;/b&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Personal Details&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Here are some of my hobbies:&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Computer&lt;br /&gt;
&amp;lt;br&amp;gt;Computer&lt;br /&gt;
Computer &lt;br /&gt;
Others&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
Reading&lt;br /&gt;
&amp;lt;ul&amp;gt;Text Books&lt;br /&gt;
Comics&lt;br /&gt;
Newspaer&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt; oh, i can use all of the html code here!! &amp;lt;/h3&amp;gt;&lt;br /&gt;
i&#039;m hungry and i want to eat my dinner, BTW&lt;br /&gt;
&amp;lt;CODE&amp;gt;&lt;br /&gt;
myHandlerActivity.java&lt;br /&gt;
&amp;lt;pre name=&amp;quot;code&amp;quot; class=&amp;quot;java&amp;quot;&amp;gt;/*&lt;br /&gt;
 * Android toast, handler, progressBar, Button Example&lt;br /&gt;
 * author: Derek Zhu 2012-2-26&lt;br /&gt;
 */&lt;br /&gt;
package com.derek.myHandler;&lt;br /&gt;
&lt;br /&gt;
import android.app.Activity;&lt;br /&gt;
import android.opengl.Visibility;&lt;br /&gt;
import android.os.Bundle;&lt;br /&gt;
import android.os.Handler;&lt;br /&gt;
import android.view.View;&lt;br /&gt;
import android.view.View.OnClickListener;&lt;br /&gt;
import android.widget.Button;&lt;br /&gt;
import android.widget.CheckBox;&lt;br /&gt;
import android.widget.CompoundButton;&lt;br /&gt;
import android.widget.ProgressBar;&lt;br /&gt;
import android.widget.TextView;&lt;br /&gt;
import android.widget.Toast;&lt;br /&gt;
&lt;br /&gt;
public class myHandlerActivity extends Activity {&lt;br /&gt;
&lt;br /&gt;
	private Button startButton = null;&lt;br /&gt;
	private Button endButton = null;&lt;br /&gt;
	private Button resetBarButton = null;&lt;br /&gt;
	private Button speedUpButton = null;&lt;br /&gt;
	private Button speedDownButton = null;&lt;br /&gt;
	private TextView myTextView = null;&lt;br /&gt;
	private CheckBox toastCB = null;&lt;br /&gt;
	private CheckBox barCB = null;&lt;br /&gt;
	private CheckBox textViewCB = null;&lt;br /&gt;
	private ProgressBar bar = null;&lt;br /&gt;
	public int myThreadCounter = 0;&lt;br /&gt;
	public int myThreadCounter4Bar = 0;&lt;br /&gt;
	public int speed = 500;&lt;br /&gt;
	public boolean isToastCBChecked = false;&lt;br /&gt;
	public boolean isBarCBChecked = false;&lt;br /&gt;
	public boolean isTextViewCBChecked = false;&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
	// private CheckBox toastCB = (CheckBox) findViewById(R.id.toastCB);&lt;br /&gt;
	// private CheckBox barCB = (CheckBox) findViewById(R.id.barCB);&lt;br /&gt;
	// private CheckBox textViewCB = (CheckBox) findViewById(R.id.textCB);&lt;br /&gt;
&lt;br /&gt;
	/** Called when the activity is first created. */&lt;br /&gt;
	@Override&lt;br /&gt;
	public void onCreate(Bundle savedInstanceState) {&lt;br /&gt;
		super.onCreate(savedInstanceState);&lt;br /&gt;
		setContentView(R.layout.main);&lt;br /&gt;
&lt;br /&gt;
		// findViewById&lt;br /&gt;
		bar = (ProgressBar) findViewById(R.id.bar);&lt;br /&gt;
		startButton = (Button) findViewById(R.id.startButton);&lt;br /&gt;
		endButton = (Button) findViewById(R.id.endButton);&lt;br /&gt;
		resetBarButton = (Button) findViewById(R.id.resetBar);&lt;br /&gt;
		speedUpButton = (Button) findViewById(R.id.speedUP);&lt;br /&gt;
		speedDownButton = (Button) findViewById(R.id.speedDown);&lt;br /&gt;
		myTextView = (TextView) findViewById(R.id.myTextView);&lt;br /&gt;
		bar = (ProgressBar) findViewById(R.id.bar);&lt;br /&gt;
		&lt;br /&gt;
		// the Buttons&lt;br /&gt;
		startButton.setOnClickListener(new startButtonListener());&lt;br /&gt;
		endButton.setOnClickListener(new endButtonListener());&lt;br /&gt;
		resetBarButton.setOnClickListener(new resetBarButtonListener());&lt;br /&gt;
		speedUpButton.setOnClickListener(new speedUpButtonListener());&lt;br /&gt;
		speedDownButton.setOnClickListener(new speedDownButtonListener());&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
		// the CheckBoxs:&lt;br /&gt;
		CheckBox toastCB = (CheckBox) findViewById(R.id.toastCB);&lt;br /&gt;
		CheckBox barCB = (CheckBox) findViewById(R.id.barCB);&lt;br /&gt;
		CheckBox textViewCB = (CheckBox) findViewById(R.id.textCB);&lt;br /&gt;
&lt;br /&gt;
		toastCB.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {&lt;br /&gt;
&lt;br /&gt;
			@Override&lt;br /&gt;
			public void onCheckedChanged(CompoundButton buttonView,&lt;br /&gt;
					boolean isChecked) {&lt;br /&gt;
				// TODO Auto-generated method stub&lt;br /&gt;
&lt;br /&gt;
				if (isChecked){&lt;br /&gt;
					isToastCBChecked = true;&lt;br /&gt;
					System.out.println(&amp;amp;quot;toastCB is checked&amp;amp;quot;);&lt;br /&gt;
				} else {&lt;br /&gt;
					isToastCBChecked = false;&lt;br /&gt;
					System.out.println(&amp;amp;quot;toastCB is unchecked&amp;amp;quot;);&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
		textViewCB.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {&lt;br /&gt;
&lt;br /&gt;
			@Override&lt;br /&gt;
			public void onCheckedChanged(CompoundButton buttonView,&lt;br /&gt;
					boolean isChecked) {&lt;br /&gt;
				// TODO Auto-generated method stub&lt;br /&gt;
				&lt;br /&gt;
				if (isChecked){&lt;br /&gt;
					isTextViewCBChecked = true;&lt;br /&gt;
					myTextView.setText(&amp;amp;quot;you opened myTextView, i&#039;m gonna have work to do here&amp;amp;quot;);&lt;br /&gt;
				} else {&lt;br /&gt;
					isTextViewCBChecked = false;&lt;br /&gt;
					myTextView.setText(&amp;amp;quot;myTextView was closed manually, yeah, we all know who did that&amp;amp;quot;);&lt;br /&gt;
				}&lt;br /&gt;
				//myTextView.&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
		barCB.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {&lt;br /&gt;
&lt;br /&gt;
			@Override&lt;br /&gt;
			public void onCheckedChanged(CompoundButton buttonView,&lt;br /&gt;
					boolean isChecked) {&lt;br /&gt;
				// TODO Auto-generated method stub&lt;br /&gt;
				&lt;br /&gt;
				if (isChecked){&lt;br /&gt;
					bar.setVisibility(View.VISIBLE);&lt;br /&gt;
					isBarCBChecked = true;&lt;br /&gt;
					System.out.println(&amp;amp;quot;barCB is checked&amp;amp;quot;);&lt;br /&gt;
				} else {&lt;br /&gt;
					bar.setVisibility(View.INVISIBLE);&lt;br /&gt;
					isBarCBChecked = false;&lt;br /&gt;
					System.out.println(&amp;amp;quot;barCB is unchecked&amp;amp;quot;);&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
			}&lt;br /&gt;
		}); &lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		/*&lt;br /&gt;
		 * for (;;){ try { //设置当前显示睡眠1秒 Thread.sleep(1000); } catch&lt;br /&gt;
		 * (InterruptedException e) { // TODO Auto-generated catch block&lt;br /&gt;
		 * e.printStackTrace(); } if (toastCB.isChecked()){&lt;br /&gt;
		 * System.out.println(&amp;amp;quot;toastCB is Checked&amp;amp;quot;); } else { continue; } }&lt;br /&gt;
		 */&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	// TODO button listener&lt;br /&gt;
	class startButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			// TODO Auto-generated method stub&lt;br /&gt;
			// reset my counter&lt;br /&gt;
			myThreadCounter = 0;&lt;br /&gt;
			handler.post(myThread);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}	&lt;br /&gt;
	class endButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			// TODO Auto-generated method stub&lt;br /&gt;
			handler.removeCallbacks(myThread);&lt;br /&gt;
			System.out.println(&amp;amp;quot;Okay, someone removed myThread, who it is!who it is!! Give me ur name!!!&amp;amp;quot;);&lt;br /&gt;
			&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	class resetBarButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			// TODO I kinda Thought this is also a stupid method to reset...&lt;br /&gt;
			myThreadCounter4Bar = myThreadCounter;&lt;br /&gt;
			bar.setProgress(0);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	class speedUpButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			speed += 200;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	class speedDownButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			speed -= 200;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	// handler&lt;br /&gt;
	Handler handler = new Handler();&lt;br /&gt;
	Runnable myThread = new Runnable(){&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void run() {&lt;br /&gt;
			// TODO Auto-generated method stub&lt;br /&gt;
			myThreadCounter += 1;&lt;br /&gt;
			System.out.println(&amp;amp;quot;This is the &amp;amp;quot; + myThreadCounter + &amp;amp;quot; Times my thread running&amp;amp;quot;);&lt;br /&gt;
			// mystuff&lt;br /&gt;
			/*&lt;br /&gt;
			if (toastCB.isChecked()){&lt;br /&gt;
				Toast.makeText(myHandlerActivity.this,&amp;amp;quot;This is the thread running&amp;amp;quot;,Toast.LENGTH_SHORT); // &amp;amp;quot; + myThreadCounter + &amp;amp;quot; Times my &lt;br /&gt;
			}&lt;br /&gt;
			*/&lt;br /&gt;
			// TODO there gotta be some way else other than stupid way like this...   3 boolen? god....&lt;br /&gt;
			System.out.println(&amp;amp;quot;ToastCB? &amp;amp;quot; + isToastCBChecked + &amp;amp;quot; TextViewCB? &amp;amp;quot; + isTextViewCBChecked + &amp;amp;quot; BarCB? &amp;amp;quot; + isBarCBChecked);&lt;br /&gt;
			&lt;br /&gt;
			if (isToastCBChecked){&lt;br /&gt;
				Toast.makeText(myHandlerActivity.this,&amp;amp;quot;This is the &amp;amp;quot; + myThreadCounter + &amp;amp;quot; Times my thread running&amp;amp;quot;,Toast.LENGTH_SHORT).show(); // &lt;br /&gt;
			}&lt;br /&gt;
			if (isTextViewCBChecked){&lt;br /&gt;
				myTextView.setText(&amp;amp;quot;This is the &amp;amp;quot; + myThreadCounter + &amp;amp;quot; Times my thread running&amp;amp;quot;);&lt;br /&gt;
			}&lt;br /&gt;
			if (isBarCBChecked){&lt;br /&gt;
				bar.setProgress(myThreadCounter-myThreadCounter4Bar);&lt;br /&gt;
				System.out.println(&amp;amp;quot;New, the bar total Progress is: &amp;amp;quot; + (int)(myThreadCounter-myThreadCounter4Bar));&lt;br /&gt;
			}&lt;br /&gt;
			// again&lt;br /&gt;
			handler.postDelayed(myThread, speed);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	};&lt;br /&gt;
	&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;CODE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
	布局文件&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre name=&amp;quot;code&amp;quot; class=&amp;quot;html&amp;quot;&amp;gt;&amp;amp;lt;?xml version=&amp;amp;quot;1.0&amp;amp;quot; encoding=&amp;amp;quot;utf-8&amp;amp;quot;?&amp;amp;gt;&lt;br /&gt;
&amp;amp;lt;LinearLayout xmlns:android=&amp;amp;quot;http://schemas.android.com/apk/res/android&amp;amp;quot;&lt;br /&gt;
    android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
    android:layout_height=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
    android:orientation=&amp;amp;quot;vertical&amp;amp;quot; &amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;amp;lt;TextView&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/myTextView&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;myTextView was not open by default, well, don&#039;t blame your self for that&amp;amp;quot; &lt;br /&gt;
        android:cursorVisible=&amp;amp;quot;false&amp;amp;quot;/&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;amp;lt;ProgressBar&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/bar&amp;amp;quot;&lt;br /&gt;
        style=&amp;amp;quot;?android:attr/progressBarStyleHorizontal&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:visibility=&amp;amp;quot;invisible&amp;amp;quot;&lt;br /&gt;
        android:max=&amp;amp;quot;100&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;amp;lt;CheckBox&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/toastCB&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;toastCB&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;CheckBox&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/textCB&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;textCB&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;CheckBox&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/barCB&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;barCB&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;LinearLayout &lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:orientation=&amp;amp;quot;horizontal&amp;amp;quot;&lt;br /&gt;
        &amp;amp;gt;&lt;br /&gt;
	        &lt;br /&gt;
	    &amp;amp;lt;Button&lt;br /&gt;
	        android:id=&amp;amp;quot;@+id/resetBar&amp;amp;quot;&lt;br /&gt;
	        android:layout_width=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:text=&amp;amp;quot;resetBar&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	    &amp;amp;lt;Button&lt;br /&gt;
	        android:id=&amp;amp;quot;@+id/resetTextView&amp;amp;quot;&lt;br /&gt;
	        android:layout_width=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:text=&amp;amp;quot;resetTextView&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	    &amp;amp;lt;Button&lt;br /&gt;
	        android:id=&amp;amp;quot;@+id/speedUP&amp;amp;quot;&lt;br /&gt;
	        android:layout_width=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:text=&amp;amp;quot;speed +&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	    &amp;amp;lt;Button&lt;br /&gt;
	        android:id=&amp;amp;quot;@+id/speedDown&amp;amp;quot;&lt;br /&gt;
	        android:layout_width=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:text=&amp;amp;quot;speed -&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	        &lt;br /&gt;
    &amp;amp;lt;/LinearLayout&amp;amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    &amp;amp;lt;Button&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/startButton&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;start&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;amp;lt;Button&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/endButton&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;end&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
&amp;amp;lt;/LinearLayout&amp;amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;/div&gt;</summary>
		<author><name>Qzhu496</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.auckland.ac.nz/stageonewiki/index.php?title=User:Qzhu496&amp;diff=16303</id>
		<title>User:Qzhu496</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.auckland.ac.nz/stageonewiki/index.php?title=User:Qzhu496&amp;diff=16303"/>
		<updated>2012-03-13T04:25:37Z</updated>

		<summary type="html">&lt;p&gt;Qzhu496: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h1&amp;gt;Derek Zhu (Qingquan)&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;I currently study &amp;lt;b&amp;gt;Computer Science&amp;lt;/b&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;a name=&amp;quot;Personal_Details&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;h2&amp;gt;Personal Details&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Here are some of my hobbies:&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;Computer&lt;br /&gt;
&amp;lt;br&amp;gt;Computer&lt;br /&gt;
Computer &lt;br /&gt;
Others&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
Reading&lt;br /&gt;
&amp;lt;ul&amp;gt;Text Books&lt;br /&gt;
Comics&lt;br /&gt;
Newspaer&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;CODE&amp;gt;&lt;br /&gt;
myHandlerActivity.java&lt;br /&gt;
&amp;lt;pre name=&amp;quot;code&amp;quot; class=&amp;quot;java&amp;quot;&amp;gt;/*&lt;br /&gt;
 * Android toast, handler, progressBar, Button Example&lt;br /&gt;
 * author: Derek Zhu 2012-2-26&lt;br /&gt;
 */&lt;br /&gt;
package com.derek.myHandler;&lt;br /&gt;
&lt;br /&gt;
import android.app.Activity;&lt;br /&gt;
import android.opengl.Visibility;&lt;br /&gt;
import android.os.Bundle;&lt;br /&gt;
import android.os.Handler;&lt;br /&gt;
import android.view.View;&lt;br /&gt;
import android.view.View.OnClickListener;&lt;br /&gt;
import android.widget.Button;&lt;br /&gt;
import android.widget.CheckBox;&lt;br /&gt;
import android.widget.CompoundButton;&lt;br /&gt;
import android.widget.ProgressBar;&lt;br /&gt;
import android.widget.TextView;&lt;br /&gt;
import android.widget.Toast;&lt;br /&gt;
&lt;br /&gt;
public class myHandlerActivity extends Activity {&lt;br /&gt;
&lt;br /&gt;
	private Button startButton = null;&lt;br /&gt;
	private Button endButton = null;&lt;br /&gt;
	private Button resetBarButton = null;&lt;br /&gt;
	private Button speedUpButton = null;&lt;br /&gt;
	private Button speedDownButton = null;&lt;br /&gt;
	private TextView myTextView = null;&lt;br /&gt;
	private CheckBox toastCB = null;&lt;br /&gt;
	private CheckBox barCB = null;&lt;br /&gt;
	private CheckBox textViewCB = null;&lt;br /&gt;
	private ProgressBar bar = null;&lt;br /&gt;
	public int myThreadCounter = 0;&lt;br /&gt;
	public int myThreadCounter4Bar = 0;&lt;br /&gt;
	public int speed = 500;&lt;br /&gt;
	public boolean isToastCBChecked = false;&lt;br /&gt;
	public boolean isBarCBChecked = false;&lt;br /&gt;
	public boolean isTextViewCBChecked = false;&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
	// private CheckBox toastCB = (CheckBox) findViewById(R.id.toastCB);&lt;br /&gt;
	// private CheckBox barCB = (CheckBox) findViewById(R.id.barCB);&lt;br /&gt;
	// private CheckBox textViewCB = (CheckBox) findViewById(R.id.textCB);&lt;br /&gt;
&lt;br /&gt;
	/** Called when the activity is first created. */&lt;br /&gt;
	@Override&lt;br /&gt;
	public void onCreate(Bundle savedInstanceState) {&lt;br /&gt;
		super.onCreate(savedInstanceState);&lt;br /&gt;
		setContentView(R.layout.main);&lt;br /&gt;
&lt;br /&gt;
		// findViewById&lt;br /&gt;
		bar = (ProgressBar) findViewById(R.id.bar);&lt;br /&gt;
		startButton = (Button) findViewById(R.id.startButton);&lt;br /&gt;
		endButton = (Button) findViewById(R.id.endButton);&lt;br /&gt;
		resetBarButton = (Button) findViewById(R.id.resetBar);&lt;br /&gt;
		speedUpButton = (Button) findViewById(R.id.speedUP);&lt;br /&gt;
		speedDownButton = (Button) findViewById(R.id.speedDown);&lt;br /&gt;
		myTextView = (TextView) findViewById(R.id.myTextView);&lt;br /&gt;
		bar = (ProgressBar) findViewById(R.id.bar);&lt;br /&gt;
		&lt;br /&gt;
		// the Buttons&lt;br /&gt;
		startButton.setOnClickListener(new startButtonListener());&lt;br /&gt;
		endButton.setOnClickListener(new endButtonListener());&lt;br /&gt;
		resetBarButton.setOnClickListener(new resetBarButtonListener());&lt;br /&gt;
		speedUpButton.setOnClickListener(new speedUpButtonListener());&lt;br /&gt;
		speedDownButton.setOnClickListener(new speedDownButtonListener());&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
		// the CheckBoxs:&lt;br /&gt;
		CheckBox toastCB = (CheckBox) findViewById(R.id.toastCB);&lt;br /&gt;
		CheckBox barCB = (CheckBox) findViewById(R.id.barCB);&lt;br /&gt;
		CheckBox textViewCB = (CheckBox) findViewById(R.id.textCB);&lt;br /&gt;
&lt;br /&gt;
		toastCB.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {&lt;br /&gt;
&lt;br /&gt;
			@Override&lt;br /&gt;
			public void onCheckedChanged(CompoundButton buttonView,&lt;br /&gt;
					boolean isChecked) {&lt;br /&gt;
				// TODO Auto-generated method stub&lt;br /&gt;
&lt;br /&gt;
				if (isChecked){&lt;br /&gt;
					isToastCBChecked = true;&lt;br /&gt;
					System.out.println(&amp;amp;quot;toastCB is checked&amp;amp;quot;);&lt;br /&gt;
				} else {&lt;br /&gt;
					isToastCBChecked = false;&lt;br /&gt;
					System.out.println(&amp;amp;quot;toastCB is unchecked&amp;amp;quot;);&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
		textViewCB.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {&lt;br /&gt;
&lt;br /&gt;
			@Override&lt;br /&gt;
			public void onCheckedChanged(CompoundButton buttonView,&lt;br /&gt;
					boolean isChecked) {&lt;br /&gt;
				// TODO Auto-generated method stub&lt;br /&gt;
				&lt;br /&gt;
				if (isChecked){&lt;br /&gt;
					isTextViewCBChecked = true;&lt;br /&gt;
					myTextView.setText(&amp;amp;quot;you opened myTextView, i&#039;m gonna have work to do here&amp;amp;quot;);&lt;br /&gt;
				} else {&lt;br /&gt;
					isTextViewCBChecked = false;&lt;br /&gt;
					myTextView.setText(&amp;amp;quot;myTextView was closed manually, yeah, we all know who did that&amp;amp;quot;);&lt;br /&gt;
				}&lt;br /&gt;
				//myTextView.&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
		barCB.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {&lt;br /&gt;
&lt;br /&gt;
			@Override&lt;br /&gt;
			public void onCheckedChanged(CompoundButton buttonView,&lt;br /&gt;
					boolean isChecked) {&lt;br /&gt;
				// TODO Auto-generated method stub&lt;br /&gt;
				&lt;br /&gt;
				if (isChecked){&lt;br /&gt;
					bar.setVisibility(View.VISIBLE);&lt;br /&gt;
					isBarCBChecked = true;&lt;br /&gt;
					System.out.println(&amp;amp;quot;barCB is checked&amp;amp;quot;);&lt;br /&gt;
				} else {&lt;br /&gt;
					bar.setVisibility(View.INVISIBLE);&lt;br /&gt;
					isBarCBChecked = false;&lt;br /&gt;
					System.out.println(&amp;amp;quot;barCB is unchecked&amp;amp;quot;);&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
			}&lt;br /&gt;
		}); &lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		/*&lt;br /&gt;
		 * for (;;){ try { //设置当前显示睡眠1秒 Thread.sleep(1000); } catch&lt;br /&gt;
		 * (InterruptedException e) { // TODO Auto-generated catch block&lt;br /&gt;
		 * e.printStackTrace(); } if (toastCB.isChecked()){&lt;br /&gt;
		 * System.out.println(&amp;amp;quot;toastCB is Checked&amp;amp;quot;); } else { continue; } }&lt;br /&gt;
		 */&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	// TODO button listener&lt;br /&gt;
	class startButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			// TODO Auto-generated method stub&lt;br /&gt;
			// reset my counter&lt;br /&gt;
			myThreadCounter = 0;&lt;br /&gt;
			handler.post(myThread);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}	&lt;br /&gt;
	class endButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			// TODO Auto-generated method stub&lt;br /&gt;
			handler.removeCallbacks(myThread);&lt;br /&gt;
			System.out.println(&amp;amp;quot;Okay, someone removed myThread, who it is!who it is!! Give me ur name!!!&amp;amp;quot;);&lt;br /&gt;
			&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	class resetBarButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			// TODO I kinda Thought this is also a stupid method to reset...&lt;br /&gt;
			myThreadCounter4Bar = myThreadCounter;&lt;br /&gt;
			bar.setProgress(0);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	class speedUpButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			speed += 200;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	class speedDownButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			speed -= 200;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	// handler&lt;br /&gt;
	Handler handler = new Handler();&lt;br /&gt;
	Runnable myThread = new Runnable(){&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void run() {&lt;br /&gt;
			// TODO Auto-generated method stub&lt;br /&gt;
			myThreadCounter += 1;&lt;br /&gt;
			System.out.println(&amp;amp;quot;This is the &amp;amp;quot; + myThreadCounter + &amp;amp;quot; Times my thread running&amp;amp;quot;);&lt;br /&gt;
			// mystuff&lt;br /&gt;
			/*&lt;br /&gt;
			if (toastCB.isChecked()){&lt;br /&gt;
				Toast.makeText(myHandlerActivity.this,&amp;amp;quot;This is the thread running&amp;amp;quot;,Toast.LENGTH_SHORT); // &amp;amp;quot; + myThreadCounter + &amp;amp;quot; Times my &lt;br /&gt;
			}&lt;br /&gt;
			*/&lt;br /&gt;
			// TODO there gotta be some way else other than stupid way like this...   3 boolen? god....&lt;br /&gt;
			System.out.println(&amp;amp;quot;ToastCB? &amp;amp;quot; + isToastCBChecked + &amp;amp;quot; TextViewCB? &amp;amp;quot; + isTextViewCBChecked + &amp;amp;quot; BarCB? &amp;amp;quot; + isBarCBChecked);&lt;br /&gt;
			&lt;br /&gt;
			if (isToastCBChecked){&lt;br /&gt;
				Toast.makeText(myHandlerActivity.this,&amp;amp;quot;This is the &amp;amp;quot; + myThreadCounter + &amp;amp;quot; Times my thread running&amp;amp;quot;,Toast.LENGTH_SHORT).show(); // &lt;br /&gt;
			}&lt;br /&gt;
			if (isTextViewCBChecked){&lt;br /&gt;
				myTextView.setText(&amp;amp;quot;This is the &amp;amp;quot; + myThreadCounter + &amp;amp;quot; Times my thread running&amp;amp;quot;);&lt;br /&gt;
			}&lt;br /&gt;
			if (isBarCBChecked){&lt;br /&gt;
				bar.setProgress(myThreadCounter-myThreadCounter4Bar);&lt;br /&gt;
				System.out.println(&amp;amp;quot;New, the bar total Progress is: &amp;amp;quot; + (int)(myThreadCounter-myThreadCounter4Bar));&lt;br /&gt;
			}&lt;br /&gt;
			// again&lt;br /&gt;
			handler.postDelayed(myThread, speed);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	};&lt;br /&gt;
	&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;CODE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
	布局文件&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre name=&amp;quot;code&amp;quot; class=&amp;quot;html&amp;quot;&amp;gt;&amp;amp;lt;?xml version=&amp;amp;quot;1.0&amp;amp;quot; encoding=&amp;amp;quot;utf-8&amp;amp;quot;?&amp;amp;gt;&lt;br /&gt;
&amp;amp;lt;LinearLayout xmlns:android=&amp;amp;quot;http://schemas.android.com/apk/res/android&amp;amp;quot;&lt;br /&gt;
    android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
    android:layout_height=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
    android:orientation=&amp;amp;quot;vertical&amp;amp;quot; &amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;amp;lt;TextView&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/myTextView&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;myTextView was not open by default, well, don&#039;t blame your self for that&amp;amp;quot; &lt;br /&gt;
        android:cursorVisible=&amp;amp;quot;false&amp;amp;quot;/&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;amp;lt;ProgressBar&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/bar&amp;amp;quot;&lt;br /&gt;
        style=&amp;amp;quot;?android:attr/progressBarStyleHorizontal&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:visibility=&amp;amp;quot;invisible&amp;amp;quot;&lt;br /&gt;
        android:max=&amp;amp;quot;100&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;amp;lt;CheckBox&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/toastCB&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;toastCB&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;CheckBox&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/textCB&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;textCB&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;CheckBox&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/barCB&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;barCB&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;LinearLayout &lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:orientation=&amp;amp;quot;horizontal&amp;amp;quot;&lt;br /&gt;
        &amp;amp;gt;&lt;br /&gt;
	        &lt;br /&gt;
	    &amp;amp;lt;Button&lt;br /&gt;
	        android:id=&amp;amp;quot;@+id/resetBar&amp;amp;quot;&lt;br /&gt;
	        android:layout_width=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:text=&amp;amp;quot;resetBar&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	    &amp;amp;lt;Button&lt;br /&gt;
	        android:id=&amp;amp;quot;@+id/resetTextView&amp;amp;quot;&lt;br /&gt;
	        android:layout_width=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:text=&amp;amp;quot;resetTextView&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	    &amp;amp;lt;Button&lt;br /&gt;
	        android:id=&amp;amp;quot;@+id/speedUP&amp;amp;quot;&lt;br /&gt;
	        android:layout_width=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:text=&amp;amp;quot;speed +&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	    &amp;amp;lt;Button&lt;br /&gt;
	        android:id=&amp;amp;quot;@+id/speedDown&amp;amp;quot;&lt;br /&gt;
	        android:layout_width=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:text=&amp;amp;quot;speed -&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	        &lt;br /&gt;
    &amp;amp;lt;/LinearLayout&amp;amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    &amp;amp;lt;Button&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/startButton&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;start&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;amp;lt;Button&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/endButton&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;end&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
&amp;amp;lt;/LinearLayout&amp;amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;/div&gt;</summary>
		<author><name>Qzhu496</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.auckland.ac.nz/stageonewiki/index.php?title=User:Qzhu496&amp;diff=16301</id>
		<title>User:Qzhu496</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.auckland.ac.nz/stageonewiki/index.php?title=User:Qzhu496&amp;diff=16301"/>
		<updated>2012-03-13T04:25:06Z</updated>

		<summary type="html">&lt;p&gt;Qzhu496: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h1&amp;gt;Derek Zhu (Qingquan)&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;I currently study &amp;lt;b&amp;gt;Computer Science&amp;lt;/b&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;a name=&amp;quot;Personal_Details&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;h2&amp;gt;Personal Details&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Here are some of my hobbies:&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;Computer&lt;br /&gt;
&amp;lt;ul&amp;gt;Computer&lt;br /&gt;
Computer &lt;br /&gt;
Others&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
Reading&lt;br /&gt;
&amp;lt;ul&amp;gt;Text Books&lt;br /&gt;
Comics&lt;br /&gt;
Newspaer&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;CODE&amp;gt;&lt;br /&gt;
myHandlerActivity.java&lt;br /&gt;
&amp;lt;pre name=&amp;quot;code&amp;quot; class=&amp;quot;java&amp;quot;&amp;gt;/*&lt;br /&gt;
 * Android toast, handler, progressBar, Button Example&lt;br /&gt;
 * author: Derek Zhu 2012-2-26&lt;br /&gt;
 */&lt;br /&gt;
package com.derek.myHandler;&lt;br /&gt;
&lt;br /&gt;
import android.app.Activity;&lt;br /&gt;
import android.opengl.Visibility;&lt;br /&gt;
import android.os.Bundle;&lt;br /&gt;
import android.os.Handler;&lt;br /&gt;
import android.view.View;&lt;br /&gt;
import android.view.View.OnClickListener;&lt;br /&gt;
import android.widget.Button;&lt;br /&gt;
import android.widget.CheckBox;&lt;br /&gt;
import android.widget.CompoundButton;&lt;br /&gt;
import android.widget.ProgressBar;&lt;br /&gt;
import android.widget.TextView;&lt;br /&gt;
import android.widget.Toast;&lt;br /&gt;
&lt;br /&gt;
public class myHandlerActivity extends Activity {&lt;br /&gt;
&lt;br /&gt;
	private Button startButton = null;&lt;br /&gt;
	private Button endButton = null;&lt;br /&gt;
	private Button resetBarButton = null;&lt;br /&gt;
	private Button speedUpButton = null;&lt;br /&gt;
	private Button speedDownButton = null;&lt;br /&gt;
	private TextView myTextView = null;&lt;br /&gt;
	private CheckBox toastCB = null;&lt;br /&gt;
	private CheckBox barCB = null;&lt;br /&gt;
	private CheckBox textViewCB = null;&lt;br /&gt;
	private ProgressBar bar = null;&lt;br /&gt;
	public int myThreadCounter = 0;&lt;br /&gt;
	public int myThreadCounter4Bar = 0;&lt;br /&gt;
	public int speed = 500;&lt;br /&gt;
	public boolean isToastCBChecked = false;&lt;br /&gt;
	public boolean isBarCBChecked = false;&lt;br /&gt;
	public boolean isTextViewCBChecked = false;&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
	// private CheckBox toastCB = (CheckBox) findViewById(R.id.toastCB);&lt;br /&gt;
	// private CheckBox barCB = (CheckBox) findViewById(R.id.barCB);&lt;br /&gt;
	// private CheckBox textViewCB = (CheckBox) findViewById(R.id.textCB);&lt;br /&gt;
&lt;br /&gt;
	/** Called when the activity is first created. */&lt;br /&gt;
	@Override&lt;br /&gt;
	public void onCreate(Bundle savedInstanceState) {&lt;br /&gt;
		super.onCreate(savedInstanceState);&lt;br /&gt;
		setContentView(R.layout.main);&lt;br /&gt;
&lt;br /&gt;
		// findViewById&lt;br /&gt;
		bar = (ProgressBar) findViewById(R.id.bar);&lt;br /&gt;
		startButton = (Button) findViewById(R.id.startButton);&lt;br /&gt;
		endButton = (Button) findViewById(R.id.endButton);&lt;br /&gt;
		resetBarButton = (Button) findViewById(R.id.resetBar);&lt;br /&gt;
		speedUpButton = (Button) findViewById(R.id.speedUP);&lt;br /&gt;
		speedDownButton = (Button) findViewById(R.id.speedDown);&lt;br /&gt;
		myTextView = (TextView) findViewById(R.id.myTextView);&lt;br /&gt;
		bar = (ProgressBar) findViewById(R.id.bar);&lt;br /&gt;
		&lt;br /&gt;
		// the Buttons&lt;br /&gt;
		startButton.setOnClickListener(new startButtonListener());&lt;br /&gt;
		endButton.setOnClickListener(new endButtonListener());&lt;br /&gt;
		resetBarButton.setOnClickListener(new resetBarButtonListener());&lt;br /&gt;
		speedUpButton.setOnClickListener(new speedUpButtonListener());&lt;br /&gt;
		speedDownButton.setOnClickListener(new speedDownButtonListener());&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
		// the CheckBoxs:&lt;br /&gt;
		CheckBox toastCB = (CheckBox) findViewById(R.id.toastCB);&lt;br /&gt;
		CheckBox barCB = (CheckBox) findViewById(R.id.barCB);&lt;br /&gt;
		CheckBox textViewCB = (CheckBox) findViewById(R.id.textCB);&lt;br /&gt;
&lt;br /&gt;
		toastCB.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {&lt;br /&gt;
&lt;br /&gt;
			@Override&lt;br /&gt;
			public void onCheckedChanged(CompoundButton buttonView,&lt;br /&gt;
					boolean isChecked) {&lt;br /&gt;
				// TODO Auto-generated method stub&lt;br /&gt;
&lt;br /&gt;
				if (isChecked){&lt;br /&gt;
					isToastCBChecked = true;&lt;br /&gt;
					System.out.println(&amp;amp;quot;toastCB is checked&amp;amp;quot;);&lt;br /&gt;
				} else {&lt;br /&gt;
					isToastCBChecked = false;&lt;br /&gt;
					System.out.println(&amp;amp;quot;toastCB is unchecked&amp;amp;quot;);&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
		textViewCB.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {&lt;br /&gt;
&lt;br /&gt;
			@Override&lt;br /&gt;
			public void onCheckedChanged(CompoundButton buttonView,&lt;br /&gt;
					boolean isChecked) {&lt;br /&gt;
				// TODO Auto-generated method stub&lt;br /&gt;
				&lt;br /&gt;
				if (isChecked){&lt;br /&gt;
					isTextViewCBChecked = true;&lt;br /&gt;
					myTextView.setText(&amp;amp;quot;you opened myTextView, i&#039;m gonna have work to do here&amp;amp;quot;);&lt;br /&gt;
				} else {&lt;br /&gt;
					isTextViewCBChecked = false;&lt;br /&gt;
					myTextView.setText(&amp;amp;quot;myTextView was closed manually, yeah, we all know who did that&amp;amp;quot;);&lt;br /&gt;
				}&lt;br /&gt;
				//myTextView.&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
		barCB.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {&lt;br /&gt;
&lt;br /&gt;
			@Override&lt;br /&gt;
			public void onCheckedChanged(CompoundButton buttonView,&lt;br /&gt;
					boolean isChecked) {&lt;br /&gt;
				// TODO Auto-generated method stub&lt;br /&gt;
				&lt;br /&gt;
				if (isChecked){&lt;br /&gt;
					bar.setVisibility(View.VISIBLE);&lt;br /&gt;
					isBarCBChecked = true;&lt;br /&gt;
					System.out.println(&amp;amp;quot;barCB is checked&amp;amp;quot;);&lt;br /&gt;
				} else {&lt;br /&gt;
					bar.setVisibility(View.INVISIBLE);&lt;br /&gt;
					isBarCBChecked = false;&lt;br /&gt;
					System.out.println(&amp;amp;quot;barCB is unchecked&amp;amp;quot;);&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
			}&lt;br /&gt;
		}); &lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		/*&lt;br /&gt;
		 * for (;;){ try { //设置当前显示睡眠1秒 Thread.sleep(1000); } catch&lt;br /&gt;
		 * (InterruptedException e) { // TODO Auto-generated catch block&lt;br /&gt;
		 * e.printStackTrace(); } if (toastCB.isChecked()){&lt;br /&gt;
		 * System.out.println(&amp;amp;quot;toastCB is Checked&amp;amp;quot;); } else { continue; } }&lt;br /&gt;
		 */&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	// TODO button listener&lt;br /&gt;
	class startButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			// TODO Auto-generated method stub&lt;br /&gt;
			// reset my counter&lt;br /&gt;
			myThreadCounter = 0;&lt;br /&gt;
			handler.post(myThread);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}	&lt;br /&gt;
	class endButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			// TODO Auto-generated method stub&lt;br /&gt;
			handler.removeCallbacks(myThread);&lt;br /&gt;
			System.out.println(&amp;amp;quot;Okay, someone removed myThread, who it is!who it is!! Give me ur name!!!&amp;amp;quot;);&lt;br /&gt;
			&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	class resetBarButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			// TODO I kinda Thought this is also a stupid method to reset...&lt;br /&gt;
			myThreadCounter4Bar = myThreadCounter;&lt;br /&gt;
			bar.setProgress(0);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	class speedUpButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			speed += 200;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	class speedDownButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			speed -= 200;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	// handler&lt;br /&gt;
	Handler handler = new Handler();&lt;br /&gt;
	Runnable myThread = new Runnable(){&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void run() {&lt;br /&gt;
			// TODO Auto-generated method stub&lt;br /&gt;
			myThreadCounter += 1;&lt;br /&gt;
			System.out.println(&amp;amp;quot;This is the &amp;amp;quot; + myThreadCounter + &amp;amp;quot; Times my thread running&amp;amp;quot;);&lt;br /&gt;
			// mystuff&lt;br /&gt;
			/*&lt;br /&gt;
			if (toastCB.isChecked()){&lt;br /&gt;
				Toast.makeText(myHandlerActivity.this,&amp;amp;quot;This is the thread running&amp;amp;quot;,Toast.LENGTH_SHORT); // &amp;amp;quot; + myThreadCounter + &amp;amp;quot; Times my &lt;br /&gt;
			}&lt;br /&gt;
			*/&lt;br /&gt;
			// TODO there gotta be some way else other than stupid way like this...   3 boolen? god....&lt;br /&gt;
			System.out.println(&amp;amp;quot;ToastCB? &amp;amp;quot; + isToastCBChecked + &amp;amp;quot; TextViewCB? &amp;amp;quot; + isTextViewCBChecked + &amp;amp;quot; BarCB? &amp;amp;quot; + isBarCBChecked);&lt;br /&gt;
			&lt;br /&gt;
			if (isToastCBChecked){&lt;br /&gt;
				Toast.makeText(myHandlerActivity.this,&amp;amp;quot;This is the &amp;amp;quot; + myThreadCounter + &amp;amp;quot; Times my thread running&amp;amp;quot;,Toast.LENGTH_SHORT).show(); // &lt;br /&gt;
			}&lt;br /&gt;
			if (isTextViewCBChecked){&lt;br /&gt;
				myTextView.setText(&amp;amp;quot;This is the &amp;amp;quot; + myThreadCounter + &amp;amp;quot; Times my thread running&amp;amp;quot;);&lt;br /&gt;
			}&lt;br /&gt;
			if (isBarCBChecked){&lt;br /&gt;
				bar.setProgress(myThreadCounter-myThreadCounter4Bar);&lt;br /&gt;
				System.out.println(&amp;amp;quot;New, the bar total Progress is: &amp;amp;quot; + (int)(myThreadCounter-myThreadCounter4Bar));&lt;br /&gt;
			}&lt;br /&gt;
			// again&lt;br /&gt;
			handler.postDelayed(myThread, speed);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	};&lt;br /&gt;
	&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;CODE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
	布局文件&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre name=&amp;quot;code&amp;quot; class=&amp;quot;html&amp;quot;&amp;gt;&amp;amp;lt;?xml version=&amp;amp;quot;1.0&amp;amp;quot; encoding=&amp;amp;quot;utf-8&amp;amp;quot;?&amp;amp;gt;&lt;br /&gt;
&amp;amp;lt;LinearLayout xmlns:android=&amp;amp;quot;http://schemas.android.com/apk/res/android&amp;amp;quot;&lt;br /&gt;
    android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
    android:layout_height=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
    android:orientation=&amp;amp;quot;vertical&amp;amp;quot; &amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;amp;lt;TextView&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/myTextView&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;myTextView was not open by default, well, don&#039;t blame your self for that&amp;amp;quot; &lt;br /&gt;
        android:cursorVisible=&amp;amp;quot;false&amp;amp;quot;/&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;amp;lt;ProgressBar&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/bar&amp;amp;quot;&lt;br /&gt;
        style=&amp;amp;quot;?android:attr/progressBarStyleHorizontal&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:visibility=&amp;amp;quot;invisible&amp;amp;quot;&lt;br /&gt;
        android:max=&amp;amp;quot;100&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;amp;lt;CheckBox&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/toastCB&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;toastCB&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;CheckBox&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/textCB&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;textCB&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;CheckBox&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/barCB&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;barCB&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;LinearLayout &lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:orientation=&amp;amp;quot;horizontal&amp;amp;quot;&lt;br /&gt;
        &amp;amp;gt;&lt;br /&gt;
	        &lt;br /&gt;
	    &amp;amp;lt;Button&lt;br /&gt;
	        android:id=&amp;amp;quot;@+id/resetBar&amp;amp;quot;&lt;br /&gt;
	        android:layout_width=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:text=&amp;amp;quot;resetBar&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	    &amp;amp;lt;Button&lt;br /&gt;
	        android:id=&amp;amp;quot;@+id/resetTextView&amp;amp;quot;&lt;br /&gt;
	        android:layout_width=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:text=&amp;amp;quot;resetTextView&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	    &amp;amp;lt;Button&lt;br /&gt;
	        android:id=&amp;amp;quot;@+id/speedUP&amp;amp;quot;&lt;br /&gt;
	        android:layout_width=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:text=&amp;amp;quot;speed +&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	    &amp;amp;lt;Button&lt;br /&gt;
	        android:id=&amp;amp;quot;@+id/speedDown&amp;amp;quot;&lt;br /&gt;
	        android:layout_width=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:text=&amp;amp;quot;speed -&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	        &lt;br /&gt;
    &amp;amp;lt;/LinearLayout&amp;amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    &amp;amp;lt;Button&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/startButton&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;start&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;amp;lt;Button&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/endButton&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;end&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
&amp;amp;lt;/LinearLayout&amp;amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;/div&gt;</summary>
		<author><name>Qzhu496</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.auckland.ac.nz/stageonewiki/index.php?title=User:Qzhu496&amp;diff=16299</id>
		<title>User:Qzhu496</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.auckland.ac.nz/stageonewiki/index.php?title=User:Qzhu496&amp;diff=16299"/>
		<updated>2012-03-13T04:23:45Z</updated>

		<summary type="html">&lt;p&gt;Qzhu496: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h1&amp;gt;Derek Zhu (Qingquan)&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;I currently study &amp;lt;b&amp;gt;Computer Science&amp;lt;/b&amp;gt;.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
title=User:Hlam025&amp;amp;amp;action=edit&amp;amp;amp;section=2&amp;quot; title=&amp;quot;Edit section: Personal Details&amp;quot;&amp;lt;a name=&amp;quot;Personal_Details&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;h2&amp;gt;Personal Details&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Here are some of my hobbies:&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Computer&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Computer&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Computer &lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Others&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Reading&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Text Books&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Comics&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Newspaer&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;CODE&amp;gt;&lt;br /&gt;
myHandlerActivity.java&lt;br /&gt;
&amp;lt;pre name=&amp;quot;code&amp;quot; class=&amp;quot;java&amp;quot;&amp;gt;/*&lt;br /&gt;
 * Android toast, handler, progressBar, Button Example&lt;br /&gt;
 * author: Derek Zhu 2012-2-26&lt;br /&gt;
 */&lt;br /&gt;
package com.derek.myHandler;&lt;br /&gt;
&lt;br /&gt;
import android.app.Activity;&lt;br /&gt;
import android.opengl.Visibility;&lt;br /&gt;
import android.os.Bundle;&lt;br /&gt;
import android.os.Handler;&lt;br /&gt;
import android.view.View;&lt;br /&gt;
import android.view.View.OnClickListener;&lt;br /&gt;
import android.widget.Button;&lt;br /&gt;
import android.widget.CheckBox;&lt;br /&gt;
import android.widget.CompoundButton;&lt;br /&gt;
import android.widget.ProgressBar;&lt;br /&gt;
import android.widget.TextView;&lt;br /&gt;
import android.widget.Toast;&lt;br /&gt;
&lt;br /&gt;
public class myHandlerActivity extends Activity {&lt;br /&gt;
&lt;br /&gt;
	private Button startButton = null;&lt;br /&gt;
	private Button endButton = null;&lt;br /&gt;
	private Button resetBarButton = null;&lt;br /&gt;
	private Button speedUpButton = null;&lt;br /&gt;
	private Button speedDownButton = null;&lt;br /&gt;
	private TextView myTextView = null;&lt;br /&gt;
	private CheckBox toastCB = null;&lt;br /&gt;
	private CheckBox barCB = null;&lt;br /&gt;
	private CheckBox textViewCB = null;&lt;br /&gt;
	private ProgressBar bar = null;&lt;br /&gt;
	public int myThreadCounter = 0;&lt;br /&gt;
	public int myThreadCounter4Bar = 0;&lt;br /&gt;
	public int speed = 500;&lt;br /&gt;
	public boolean isToastCBChecked = false;&lt;br /&gt;
	public boolean isBarCBChecked = false;&lt;br /&gt;
	public boolean isTextViewCBChecked = false;&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
	// private CheckBox toastCB = (CheckBox) findViewById(R.id.toastCB);&lt;br /&gt;
	// private CheckBox barCB = (CheckBox) findViewById(R.id.barCB);&lt;br /&gt;
	// private CheckBox textViewCB = (CheckBox) findViewById(R.id.textCB);&lt;br /&gt;
&lt;br /&gt;
	/** Called when the activity is first created. */&lt;br /&gt;
	@Override&lt;br /&gt;
	public void onCreate(Bundle savedInstanceState) {&lt;br /&gt;
		super.onCreate(savedInstanceState);&lt;br /&gt;
		setContentView(R.layout.main);&lt;br /&gt;
&lt;br /&gt;
		// findViewById&lt;br /&gt;
		bar = (ProgressBar) findViewById(R.id.bar);&lt;br /&gt;
		startButton = (Button) findViewById(R.id.startButton);&lt;br /&gt;
		endButton = (Button) findViewById(R.id.endButton);&lt;br /&gt;
		resetBarButton = (Button) findViewById(R.id.resetBar);&lt;br /&gt;
		speedUpButton = (Button) findViewById(R.id.speedUP);&lt;br /&gt;
		speedDownButton = (Button) findViewById(R.id.speedDown);&lt;br /&gt;
		myTextView = (TextView) findViewById(R.id.myTextView);&lt;br /&gt;
		bar = (ProgressBar) findViewById(R.id.bar);&lt;br /&gt;
		&lt;br /&gt;
		// the Buttons&lt;br /&gt;
		startButton.setOnClickListener(new startButtonListener());&lt;br /&gt;
		endButton.setOnClickListener(new endButtonListener());&lt;br /&gt;
		resetBarButton.setOnClickListener(new resetBarButtonListener());&lt;br /&gt;
		speedUpButton.setOnClickListener(new speedUpButtonListener());&lt;br /&gt;
		speedDownButton.setOnClickListener(new speedDownButtonListener());&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
		// the CheckBoxs:&lt;br /&gt;
		CheckBox toastCB = (CheckBox) findViewById(R.id.toastCB);&lt;br /&gt;
		CheckBox barCB = (CheckBox) findViewById(R.id.barCB);&lt;br /&gt;
		CheckBox textViewCB = (CheckBox) findViewById(R.id.textCB);&lt;br /&gt;
&lt;br /&gt;
		toastCB.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {&lt;br /&gt;
&lt;br /&gt;
			@Override&lt;br /&gt;
			public void onCheckedChanged(CompoundButton buttonView,&lt;br /&gt;
					boolean isChecked) {&lt;br /&gt;
				// TODO Auto-generated method stub&lt;br /&gt;
&lt;br /&gt;
				if (isChecked){&lt;br /&gt;
					isToastCBChecked = true;&lt;br /&gt;
					System.out.println(&amp;amp;quot;toastCB is checked&amp;amp;quot;);&lt;br /&gt;
				} else {&lt;br /&gt;
					isToastCBChecked = false;&lt;br /&gt;
					System.out.println(&amp;amp;quot;toastCB is unchecked&amp;amp;quot;);&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
		textViewCB.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {&lt;br /&gt;
&lt;br /&gt;
			@Override&lt;br /&gt;
			public void onCheckedChanged(CompoundButton buttonView,&lt;br /&gt;
					boolean isChecked) {&lt;br /&gt;
				// TODO Auto-generated method stub&lt;br /&gt;
				&lt;br /&gt;
				if (isChecked){&lt;br /&gt;
					isTextViewCBChecked = true;&lt;br /&gt;
					myTextView.setText(&amp;amp;quot;you opened myTextView, i&#039;m gonna have work to do here&amp;amp;quot;);&lt;br /&gt;
				} else {&lt;br /&gt;
					isTextViewCBChecked = false;&lt;br /&gt;
					myTextView.setText(&amp;amp;quot;myTextView was closed manually, yeah, we all know who did that&amp;amp;quot;);&lt;br /&gt;
				}&lt;br /&gt;
				//myTextView.&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
		barCB.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {&lt;br /&gt;
&lt;br /&gt;
			@Override&lt;br /&gt;
			public void onCheckedChanged(CompoundButton buttonView,&lt;br /&gt;
					boolean isChecked) {&lt;br /&gt;
				// TODO Auto-generated method stub&lt;br /&gt;
				&lt;br /&gt;
				if (isChecked){&lt;br /&gt;
					bar.setVisibility(View.VISIBLE);&lt;br /&gt;
					isBarCBChecked = true;&lt;br /&gt;
					System.out.println(&amp;amp;quot;barCB is checked&amp;amp;quot;);&lt;br /&gt;
				} else {&lt;br /&gt;
					bar.setVisibility(View.INVISIBLE);&lt;br /&gt;
					isBarCBChecked = false;&lt;br /&gt;
					System.out.println(&amp;amp;quot;barCB is unchecked&amp;amp;quot;);&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
			}&lt;br /&gt;
		}); &lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		/*&lt;br /&gt;
		 * for (;;){ try { //设置当前显示睡眠1秒 Thread.sleep(1000); } catch&lt;br /&gt;
		 * (InterruptedException e) { // TODO Auto-generated catch block&lt;br /&gt;
		 * e.printStackTrace(); } if (toastCB.isChecked()){&lt;br /&gt;
		 * System.out.println(&amp;amp;quot;toastCB is Checked&amp;amp;quot;); } else { continue; } }&lt;br /&gt;
		 */&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	// TODO button listener&lt;br /&gt;
	class startButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			// TODO Auto-generated method stub&lt;br /&gt;
			// reset my counter&lt;br /&gt;
			myThreadCounter = 0;&lt;br /&gt;
			handler.post(myThread);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}	&lt;br /&gt;
	class endButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			// TODO Auto-generated method stub&lt;br /&gt;
			handler.removeCallbacks(myThread);&lt;br /&gt;
			System.out.println(&amp;amp;quot;Okay, someone removed myThread, who it is!who it is!! Give me ur name!!!&amp;amp;quot;);&lt;br /&gt;
			&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	class resetBarButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			// TODO I kinda Thought this is also a stupid method to reset...&lt;br /&gt;
			myThreadCounter4Bar = myThreadCounter;&lt;br /&gt;
			bar.setProgress(0);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	class speedUpButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			speed += 200;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	class speedDownButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			speed -= 200;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	// handler&lt;br /&gt;
	Handler handler = new Handler();&lt;br /&gt;
	Runnable myThread = new Runnable(){&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void run() {&lt;br /&gt;
			// TODO Auto-generated method stub&lt;br /&gt;
			myThreadCounter += 1;&lt;br /&gt;
			System.out.println(&amp;amp;quot;This is the &amp;amp;quot; + myThreadCounter + &amp;amp;quot; Times my thread running&amp;amp;quot;);&lt;br /&gt;
			// mystuff&lt;br /&gt;
			/*&lt;br /&gt;
			if (toastCB.isChecked()){&lt;br /&gt;
				Toast.makeText(myHandlerActivity.this,&amp;amp;quot;This is the thread running&amp;amp;quot;,Toast.LENGTH_SHORT); // &amp;amp;quot; + myThreadCounter + &amp;amp;quot; Times my &lt;br /&gt;
			}&lt;br /&gt;
			*/&lt;br /&gt;
			// TODO there gotta be some way else other than stupid way like this...   3 boolen? god....&lt;br /&gt;
			System.out.println(&amp;amp;quot;ToastCB? &amp;amp;quot; + isToastCBChecked + &amp;amp;quot; TextViewCB? &amp;amp;quot; + isTextViewCBChecked + &amp;amp;quot; BarCB? &amp;amp;quot; + isBarCBChecked);&lt;br /&gt;
			&lt;br /&gt;
			if (isToastCBChecked){&lt;br /&gt;
				Toast.makeText(myHandlerActivity.this,&amp;amp;quot;This is the &amp;amp;quot; + myThreadCounter + &amp;amp;quot; Times my thread running&amp;amp;quot;,Toast.LENGTH_SHORT).show(); // &lt;br /&gt;
			}&lt;br /&gt;
			if (isTextViewCBChecked){&lt;br /&gt;
				myTextView.setText(&amp;amp;quot;This is the &amp;amp;quot; + myThreadCounter + &amp;amp;quot; Times my thread running&amp;amp;quot;);&lt;br /&gt;
			}&lt;br /&gt;
			if (isBarCBChecked){&lt;br /&gt;
				bar.setProgress(myThreadCounter-myThreadCounter4Bar);&lt;br /&gt;
				System.out.println(&amp;amp;quot;New, the bar total Progress is: &amp;amp;quot; + (int)(myThreadCounter-myThreadCounter4Bar));&lt;br /&gt;
			}&lt;br /&gt;
			// again&lt;br /&gt;
			handler.postDelayed(myThread, speed);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	};&lt;br /&gt;
	&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;CODE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
	布局文件&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre name=&amp;quot;code&amp;quot; class=&amp;quot;html&amp;quot;&amp;gt;&amp;amp;lt;?xml version=&amp;amp;quot;1.0&amp;amp;quot; encoding=&amp;amp;quot;utf-8&amp;amp;quot;?&amp;amp;gt;&lt;br /&gt;
&amp;amp;lt;LinearLayout xmlns:android=&amp;amp;quot;http://schemas.android.com/apk/res/android&amp;amp;quot;&lt;br /&gt;
    android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
    android:layout_height=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
    android:orientation=&amp;amp;quot;vertical&amp;amp;quot; &amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;amp;lt;TextView&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/myTextView&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;myTextView was not open by default, well, don&#039;t blame your self for that&amp;amp;quot; &lt;br /&gt;
        android:cursorVisible=&amp;amp;quot;false&amp;amp;quot;/&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;amp;lt;ProgressBar&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/bar&amp;amp;quot;&lt;br /&gt;
        style=&amp;amp;quot;?android:attr/progressBarStyleHorizontal&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:visibility=&amp;amp;quot;invisible&amp;amp;quot;&lt;br /&gt;
        android:max=&amp;amp;quot;100&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;amp;lt;CheckBox&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/toastCB&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;toastCB&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;CheckBox&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/textCB&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;textCB&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;CheckBox&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/barCB&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;barCB&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;LinearLayout &lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:orientation=&amp;amp;quot;horizontal&amp;amp;quot;&lt;br /&gt;
        &amp;amp;gt;&lt;br /&gt;
	        &lt;br /&gt;
	    &amp;amp;lt;Button&lt;br /&gt;
	        android:id=&amp;amp;quot;@+id/resetBar&amp;amp;quot;&lt;br /&gt;
	        android:layout_width=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:text=&amp;amp;quot;resetBar&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	    &amp;amp;lt;Button&lt;br /&gt;
	        android:id=&amp;amp;quot;@+id/resetTextView&amp;amp;quot;&lt;br /&gt;
	        android:layout_width=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:text=&amp;amp;quot;resetTextView&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	    &amp;amp;lt;Button&lt;br /&gt;
	        android:id=&amp;amp;quot;@+id/speedUP&amp;amp;quot;&lt;br /&gt;
	        android:layout_width=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:text=&amp;amp;quot;speed +&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	    &amp;amp;lt;Button&lt;br /&gt;
	        android:id=&amp;amp;quot;@+id/speedDown&amp;amp;quot;&lt;br /&gt;
	        android:layout_width=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:text=&amp;amp;quot;speed -&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	        &lt;br /&gt;
    &amp;amp;lt;/LinearLayout&amp;amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    &amp;amp;lt;Button&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/startButton&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;start&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;amp;lt;Button&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/endButton&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;end&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
&amp;amp;lt;/LinearLayout&amp;amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;/div&gt;</summary>
		<author><name>Qzhu496</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.auckland.ac.nz/stageonewiki/index.php?title=User:Qzhu496&amp;diff=16295</id>
		<title>User:Qzhu496</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.auckland.ac.nz/stageonewiki/index.php?title=User:Qzhu496&amp;diff=16295"/>
		<updated>2012-03-13T04:21:58Z</updated>

		<summary type="html">&lt;p&gt;Qzhu496: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h1&amp;gt;Derek Zhu (Qingquan)&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;I currently study &amp;lt;b&amp;gt;Computer Science&amp;lt;/b&amp;gt;.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;editsection&amp;quot; style=&amp;quot;float:right;margin-left:5px;&amp;quot;&amp;gt;[&amp;lt;a href=&amp;quot;/stageonewiki/index.php?title=User:Hlam025&amp;amp;amp;action=edit&amp;amp;amp;section=2&amp;quot; title=&amp;quot;Edit section: Personal Details&amp;quot;&amp;gt;edit&amp;lt;/a&amp;gt;]&amp;lt;/div&amp;gt;&amp;lt;a name=&amp;quot;Personal_Details&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;h2&amp;gt;Personal Details&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Here are some of my hobbies:&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Computer&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Computer&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Computer &lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Others&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Reading&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Text Books&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Comics&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Newspaer&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;CODE&amp;gt;&lt;br /&gt;
myHandlerActivity.java&lt;br /&gt;
&amp;lt;pre name=&amp;quot;code&amp;quot; class=&amp;quot;java&amp;quot;&amp;gt;/*&lt;br /&gt;
 * Android toast, handler, progressBar, Button Example&lt;br /&gt;
 * author: Derek Zhu 2012-2-26&lt;br /&gt;
 */&lt;br /&gt;
package com.derek.myHandler;&lt;br /&gt;
&lt;br /&gt;
import android.app.Activity;&lt;br /&gt;
import android.opengl.Visibility;&lt;br /&gt;
import android.os.Bundle;&lt;br /&gt;
import android.os.Handler;&lt;br /&gt;
import android.view.View;&lt;br /&gt;
import android.view.View.OnClickListener;&lt;br /&gt;
import android.widget.Button;&lt;br /&gt;
import android.widget.CheckBox;&lt;br /&gt;
import android.widget.CompoundButton;&lt;br /&gt;
import android.widget.ProgressBar;&lt;br /&gt;
import android.widget.TextView;&lt;br /&gt;
import android.widget.Toast;&lt;br /&gt;
&lt;br /&gt;
public class myHandlerActivity extends Activity {&lt;br /&gt;
&lt;br /&gt;
	private Button startButton = null;&lt;br /&gt;
	private Button endButton = null;&lt;br /&gt;
	private Button resetBarButton = null;&lt;br /&gt;
	private Button speedUpButton = null;&lt;br /&gt;
	private Button speedDownButton = null;&lt;br /&gt;
	private TextView myTextView = null;&lt;br /&gt;
	private CheckBox toastCB = null;&lt;br /&gt;
	private CheckBox barCB = null;&lt;br /&gt;
	private CheckBox textViewCB = null;&lt;br /&gt;
	private ProgressBar bar = null;&lt;br /&gt;
	public int myThreadCounter = 0;&lt;br /&gt;
	public int myThreadCounter4Bar = 0;&lt;br /&gt;
	public int speed = 500;&lt;br /&gt;
	public boolean isToastCBChecked = false;&lt;br /&gt;
	public boolean isBarCBChecked = false;&lt;br /&gt;
	public boolean isTextViewCBChecked = false;&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
	// private CheckBox toastCB = (CheckBox) findViewById(R.id.toastCB);&lt;br /&gt;
	// private CheckBox barCB = (CheckBox) findViewById(R.id.barCB);&lt;br /&gt;
	// private CheckBox textViewCB = (CheckBox) findViewById(R.id.textCB);&lt;br /&gt;
&lt;br /&gt;
	/** Called when the activity is first created. */&lt;br /&gt;
	@Override&lt;br /&gt;
	public void onCreate(Bundle savedInstanceState) {&lt;br /&gt;
		super.onCreate(savedInstanceState);&lt;br /&gt;
		setContentView(R.layout.main);&lt;br /&gt;
&lt;br /&gt;
		// findViewById&lt;br /&gt;
		bar = (ProgressBar) findViewById(R.id.bar);&lt;br /&gt;
		startButton = (Button) findViewById(R.id.startButton);&lt;br /&gt;
		endButton = (Button) findViewById(R.id.endButton);&lt;br /&gt;
		resetBarButton = (Button) findViewById(R.id.resetBar);&lt;br /&gt;
		speedUpButton = (Button) findViewById(R.id.speedUP);&lt;br /&gt;
		speedDownButton = (Button) findViewById(R.id.speedDown);&lt;br /&gt;
		myTextView = (TextView) findViewById(R.id.myTextView);&lt;br /&gt;
		bar = (ProgressBar) findViewById(R.id.bar);&lt;br /&gt;
		&lt;br /&gt;
		// the Buttons&lt;br /&gt;
		startButton.setOnClickListener(new startButtonListener());&lt;br /&gt;
		endButton.setOnClickListener(new endButtonListener());&lt;br /&gt;
		resetBarButton.setOnClickListener(new resetBarButtonListener());&lt;br /&gt;
		speedUpButton.setOnClickListener(new speedUpButtonListener());&lt;br /&gt;
		speedDownButton.setOnClickListener(new speedDownButtonListener());&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
		// the CheckBoxs:&lt;br /&gt;
		CheckBox toastCB = (CheckBox) findViewById(R.id.toastCB);&lt;br /&gt;
		CheckBox barCB = (CheckBox) findViewById(R.id.barCB);&lt;br /&gt;
		CheckBox textViewCB = (CheckBox) findViewById(R.id.textCB);&lt;br /&gt;
&lt;br /&gt;
		toastCB.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {&lt;br /&gt;
&lt;br /&gt;
			@Override&lt;br /&gt;
			public void onCheckedChanged(CompoundButton buttonView,&lt;br /&gt;
					boolean isChecked) {&lt;br /&gt;
				// TODO Auto-generated method stub&lt;br /&gt;
&lt;br /&gt;
				if (isChecked){&lt;br /&gt;
					isToastCBChecked = true;&lt;br /&gt;
					System.out.println(&amp;amp;quot;toastCB is checked&amp;amp;quot;);&lt;br /&gt;
				} else {&lt;br /&gt;
					isToastCBChecked = false;&lt;br /&gt;
					System.out.println(&amp;amp;quot;toastCB is unchecked&amp;amp;quot;);&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
		textViewCB.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {&lt;br /&gt;
&lt;br /&gt;
			@Override&lt;br /&gt;
			public void onCheckedChanged(CompoundButton buttonView,&lt;br /&gt;
					boolean isChecked) {&lt;br /&gt;
				// TODO Auto-generated method stub&lt;br /&gt;
				&lt;br /&gt;
				if (isChecked){&lt;br /&gt;
					isTextViewCBChecked = true;&lt;br /&gt;
					myTextView.setText(&amp;amp;quot;you opened myTextView, i&#039;m gonna have work to do here&amp;amp;quot;);&lt;br /&gt;
				} else {&lt;br /&gt;
					isTextViewCBChecked = false;&lt;br /&gt;
					myTextView.setText(&amp;amp;quot;myTextView was closed manually, yeah, we all know who did that&amp;amp;quot;);&lt;br /&gt;
				}&lt;br /&gt;
				//myTextView.&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
		barCB.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {&lt;br /&gt;
&lt;br /&gt;
			@Override&lt;br /&gt;
			public void onCheckedChanged(CompoundButton buttonView,&lt;br /&gt;
					boolean isChecked) {&lt;br /&gt;
				// TODO Auto-generated method stub&lt;br /&gt;
				&lt;br /&gt;
				if (isChecked){&lt;br /&gt;
					bar.setVisibility(View.VISIBLE);&lt;br /&gt;
					isBarCBChecked = true;&lt;br /&gt;
					System.out.println(&amp;amp;quot;barCB is checked&amp;amp;quot;);&lt;br /&gt;
				} else {&lt;br /&gt;
					bar.setVisibility(View.INVISIBLE);&lt;br /&gt;
					isBarCBChecked = false;&lt;br /&gt;
					System.out.println(&amp;amp;quot;barCB is unchecked&amp;amp;quot;);&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
			}&lt;br /&gt;
		}); &lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		/*&lt;br /&gt;
		 * for (;;){ try { //设置当前显示睡眠1秒 Thread.sleep(1000); } catch&lt;br /&gt;
		 * (InterruptedException e) { // TODO Auto-generated catch block&lt;br /&gt;
		 * e.printStackTrace(); } if (toastCB.isChecked()){&lt;br /&gt;
		 * System.out.println(&amp;amp;quot;toastCB is Checked&amp;amp;quot;); } else { continue; } }&lt;br /&gt;
		 */&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	// TODO button listener&lt;br /&gt;
	class startButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			// TODO Auto-generated method stub&lt;br /&gt;
			// reset my counter&lt;br /&gt;
			myThreadCounter = 0;&lt;br /&gt;
			handler.post(myThread);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}	&lt;br /&gt;
	class endButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			// TODO Auto-generated method stub&lt;br /&gt;
			handler.removeCallbacks(myThread);&lt;br /&gt;
			System.out.println(&amp;amp;quot;Okay, someone removed myThread, who it is!who it is!! Give me ur name!!!&amp;amp;quot;);&lt;br /&gt;
			&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	class resetBarButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			// TODO I kinda Thought this is also a stupid method to reset...&lt;br /&gt;
			myThreadCounter4Bar = myThreadCounter;&lt;br /&gt;
			bar.setProgress(0);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	class speedUpButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			speed += 200;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	class speedDownButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			speed -= 200;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	// handler&lt;br /&gt;
	Handler handler = new Handler();&lt;br /&gt;
	Runnable myThread = new Runnable(){&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void run() {&lt;br /&gt;
			// TODO Auto-generated method stub&lt;br /&gt;
			myThreadCounter += 1;&lt;br /&gt;
			System.out.println(&amp;amp;quot;This is the &amp;amp;quot; + myThreadCounter + &amp;amp;quot; Times my thread running&amp;amp;quot;);&lt;br /&gt;
			// mystuff&lt;br /&gt;
			/*&lt;br /&gt;
			if (toastCB.isChecked()){&lt;br /&gt;
				Toast.makeText(myHandlerActivity.this,&amp;amp;quot;This is the thread running&amp;amp;quot;,Toast.LENGTH_SHORT); // &amp;amp;quot; + myThreadCounter + &amp;amp;quot; Times my &lt;br /&gt;
			}&lt;br /&gt;
			*/&lt;br /&gt;
			// TODO there gotta be some way else other than stupid way like this...   3 boolen? god....&lt;br /&gt;
			System.out.println(&amp;amp;quot;ToastCB? &amp;amp;quot; + isToastCBChecked + &amp;amp;quot; TextViewCB? &amp;amp;quot; + isTextViewCBChecked + &amp;amp;quot; BarCB? &amp;amp;quot; + isBarCBChecked);&lt;br /&gt;
			&lt;br /&gt;
			if (isToastCBChecked){&lt;br /&gt;
				Toast.makeText(myHandlerActivity.this,&amp;amp;quot;This is the &amp;amp;quot; + myThreadCounter + &amp;amp;quot; Times my thread running&amp;amp;quot;,Toast.LENGTH_SHORT).show(); // &lt;br /&gt;
			}&lt;br /&gt;
			if (isTextViewCBChecked){&lt;br /&gt;
				myTextView.setText(&amp;amp;quot;This is the &amp;amp;quot; + myThreadCounter + &amp;amp;quot; Times my thread running&amp;amp;quot;);&lt;br /&gt;
			}&lt;br /&gt;
			if (isBarCBChecked){&lt;br /&gt;
				bar.setProgress(myThreadCounter-myThreadCounter4Bar);&lt;br /&gt;
				System.out.println(&amp;amp;quot;New, the bar total Progress is: &amp;amp;quot; + (int)(myThreadCounter-myThreadCounter4Bar));&lt;br /&gt;
			}&lt;br /&gt;
			// again&lt;br /&gt;
			handler.postDelayed(myThread, speed);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	};&lt;br /&gt;
	&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;CODE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
	布局文件&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre name=&amp;quot;code&amp;quot; class=&amp;quot;html&amp;quot;&amp;gt;&amp;amp;lt;?xml version=&amp;amp;quot;1.0&amp;amp;quot; encoding=&amp;amp;quot;utf-8&amp;amp;quot;?&amp;amp;gt;&lt;br /&gt;
&amp;amp;lt;LinearLayout xmlns:android=&amp;amp;quot;http://schemas.android.com/apk/res/android&amp;amp;quot;&lt;br /&gt;
    android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
    android:layout_height=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
    android:orientation=&amp;amp;quot;vertical&amp;amp;quot; &amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;amp;lt;TextView&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/myTextView&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;myTextView was not open by default, well, don&#039;t blame your self for that&amp;amp;quot; &lt;br /&gt;
        android:cursorVisible=&amp;amp;quot;false&amp;amp;quot;/&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;amp;lt;ProgressBar&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/bar&amp;amp;quot;&lt;br /&gt;
        style=&amp;amp;quot;?android:attr/progressBarStyleHorizontal&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:visibility=&amp;amp;quot;invisible&amp;amp;quot;&lt;br /&gt;
        android:max=&amp;amp;quot;100&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;amp;lt;CheckBox&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/toastCB&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;toastCB&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;CheckBox&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/textCB&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;textCB&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;CheckBox&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/barCB&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;barCB&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;LinearLayout &lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:orientation=&amp;amp;quot;horizontal&amp;amp;quot;&lt;br /&gt;
        &amp;amp;gt;&lt;br /&gt;
	        &lt;br /&gt;
	    &amp;amp;lt;Button&lt;br /&gt;
	        android:id=&amp;amp;quot;@+id/resetBar&amp;amp;quot;&lt;br /&gt;
	        android:layout_width=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:text=&amp;amp;quot;resetBar&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	    &amp;amp;lt;Button&lt;br /&gt;
	        android:id=&amp;amp;quot;@+id/resetTextView&amp;amp;quot;&lt;br /&gt;
	        android:layout_width=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:text=&amp;amp;quot;resetTextView&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	    &amp;amp;lt;Button&lt;br /&gt;
	        android:id=&amp;amp;quot;@+id/speedUP&amp;amp;quot;&lt;br /&gt;
	        android:layout_width=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:text=&amp;amp;quot;speed +&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	    &amp;amp;lt;Button&lt;br /&gt;
	        android:id=&amp;amp;quot;@+id/speedDown&amp;amp;quot;&lt;br /&gt;
	        android:layout_width=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:text=&amp;amp;quot;speed -&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	        &lt;br /&gt;
    &amp;amp;lt;/LinearLayout&amp;amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    &amp;amp;lt;Button&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/startButton&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;start&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;amp;lt;Button&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/endButton&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;end&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
&amp;amp;lt;/LinearLayout&amp;amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;/div&gt;</summary>
		<author><name>Qzhu496</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.auckland.ac.nz/stageonewiki/index.php?title=User:Qzhu496&amp;diff=16267</id>
		<title>User:Qzhu496</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.auckland.ac.nz/stageonewiki/index.php?title=User:Qzhu496&amp;diff=16267"/>
		<updated>2012-03-13T04:12:23Z</updated>

		<summary type="html">&lt;p&gt;Qzhu496: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;CODE&amp;gt;&lt;br /&gt;
myHandlerActivity.java&lt;br /&gt;
&amp;lt;pre name=&amp;quot;code&amp;quot; class=&amp;quot;java&amp;quot;&amp;gt;/*&lt;br /&gt;
 * 安卓 toast, handler, progressBar, Button实例&lt;br /&gt;
 * author: Derek Zhu 2012-2-26&lt;br /&gt;
 */&lt;br /&gt;
package com.derek.myHandler;&lt;br /&gt;
&lt;br /&gt;
import android.app.Activity;&lt;br /&gt;
import android.opengl.Visibility;&lt;br /&gt;
import android.os.Bundle;&lt;br /&gt;
import android.os.Handler;&lt;br /&gt;
import android.view.View;&lt;br /&gt;
import android.view.View.OnClickListener;&lt;br /&gt;
import android.widget.Button;&lt;br /&gt;
import android.widget.CheckBox;&lt;br /&gt;
import android.widget.CompoundButton;&lt;br /&gt;
import android.widget.ProgressBar;&lt;br /&gt;
import android.widget.TextView;&lt;br /&gt;
import android.widget.Toast;&lt;br /&gt;
&lt;br /&gt;
public class myHandlerActivity extends Activity {&lt;br /&gt;
&lt;br /&gt;
	private Button startButton = null;&lt;br /&gt;
	private Button endButton = null;&lt;br /&gt;
	private Button resetBarButton = null;&lt;br /&gt;
	private Button speedUpButton = null;&lt;br /&gt;
	private Button speedDownButton = null;&lt;br /&gt;
	private TextView myTextView = null;&lt;br /&gt;
	private CheckBox toastCB = null;&lt;br /&gt;
	private CheckBox barCB = null;&lt;br /&gt;
	private CheckBox textViewCB = null;&lt;br /&gt;
	private ProgressBar bar = null;&lt;br /&gt;
	public int myThreadCounter = 0;&lt;br /&gt;
	public int myThreadCounter4Bar = 0;&lt;br /&gt;
	public int speed = 500;&lt;br /&gt;
	public boolean isToastCBChecked = false;&lt;br /&gt;
	public boolean isBarCBChecked = false;&lt;br /&gt;
	public boolean isTextViewCBChecked = false;&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
	// private CheckBox toastCB = (CheckBox) findViewById(R.id.toastCB);&lt;br /&gt;
	// private CheckBox barCB = (CheckBox) findViewById(R.id.barCB);&lt;br /&gt;
	// private CheckBox textViewCB = (CheckBox) findViewById(R.id.textCB);&lt;br /&gt;
&lt;br /&gt;
	/** Called when the activity is first created. */&lt;br /&gt;
	@Override&lt;br /&gt;
	public void onCreate(Bundle savedInstanceState) {&lt;br /&gt;
		super.onCreate(savedInstanceState);&lt;br /&gt;
		setContentView(R.layout.main);&lt;br /&gt;
&lt;br /&gt;
		// findViewById&lt;br /&gt;
		bar = (ProgressBar) findViewById(R.id.bar);&lt;br /&gt;
		startButton = (Button) findViewById(R.id.startButton);&lt;br /&gt;
		endButton = (Button) findViewById(R.id.endButton);&lt;br /&gt;
		resetBarButton = (Button) findViewById(R.id.resetBar);&lt;br /&gt;
		speedUpButton = (Button) findViewById(R.id.speedUP);&lt;br /&gt;
		speedDownButton = (Button) findViewById(R.id.speedDown);&lt;br /&gt;
		myTextView = (TextView) findViewById(R.id.myTextView);&lt;br /&gt;
		bar = (ProgressBar) findViewById(R.id.bar);&lt;br /&gt;
		&lt;br /&gt;
		// the Buttons&lt;br /&gt;
		startButton.setOnClickListener(new startButtonListener());&lt;br /&gt;
		endButton.setOnClickListener(new endButtonListener());&lt;br /&gt;
		resetBarButton.setOnClickListener(new resetBarButtonListener());&lt;br /&gt;
		speedUpButton.setOnClickListener(new speedUpButtonListener());&lt;br /&gt;
		speedDownButton.setOnClickListener(new speedDownButtonListener());&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
		// the CheckBoxs:&lt;br /&gt;
		CheckBox toastCB = (CheckBox) findViewById(R.id.toastCB);&lt;br /&gt;
		CheckBox barCB = (CheckBox) findViewById(R.id.barCB);&lt;br /&gt;
		CheckBox textViewCB = (CheckBox) findViewById(R.id.textCB);&lt;br /&gt;
&lt;br /&gt;
		toastCB.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {&lt;br /&gt;
&lt;br /&gt;
			@Override&lt;br /&gt;
			public void onCheckedChanged(CompoundButton buttonView,&lt;br /&gt;
					boolean isChecked) {&lt;br /&gt;
				// TODO Auto-generated method stub&lt;br /&gt;
&lt;br /&gt;
				if (isChecked){&lt;br /&gt;
					isToastCBChecked = true;&lt;br /&gt;
					System.out.println(&amp;amp;quot;toastCB is checked&amp;amp;quot;);&lt;br /&gt;
				} else {&lt;br /&gt;
					isToastCBChecked = false;&lt;br /&gt;
					System.out.println(&amp;amp;quot;toastCB is unchecked&amp;amp;quot;);&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
		textViewCB.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {&lt;br /&gt;
&lt;br /&gt;
			@Override&lt;br /&gt;
			public void onCheckedChanged(CompoundButton buttonView,&lt;br /&gt;
					boolean isChecked) {&lt;br /&gt;
				// TODO Auto-generated method stub&lt;br /&gt;
				&lt;br /&gt;
				if (isChecked){&lt;br /&gt;
					isTextViewCBChecked = true;&lt;br /&gt;
					myTextView.setText(&amp;amp;quot;you opened myTextView, i&#039;m gonna have work to do here&amp;amp;quot;);&lt;br /&gt;
				} else {&lt;br /&gt;
					isTextViewCBChecked = false;&lt;br /&gt;
					myTextView.setText(&amp;amp;quot;myTextView was closed manually, yeah, we all know who did that&amp;amp;quot;);&lt;br /&gt;
				}&lt;br /&gt;
				//myTextView.&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
		barCB.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {&lt;br /&gt;
&lt;br /&gt;
			@Override&lt;br /&gt;
			public void onCheckedChanged(CompoundButton buttonView,&lt;br /&gt;
					boolean isChecked) {&lt;br /&gt;
				// TODO Auto-generated method stub&lt;br /&gt;
				&lt;br /&gt;
				if (isChecked){&lt;br /&gt;
					bar.setVisibility(View.VISIBLE);&lt;br /&gt;
					isBarCBChecked = true;&lt;br /&gt;
					System.out.println(&amp;amp;quot;barCB is checked&amp;amp;quot;);&lt;br /&gt;
				} else {&lt;br /&gt;
					bar.setVisibility(View.INVISIBLE);&lt;br /&gt;
					isBarCBChecked = false;&lt;br /&gt;
					System.out.println(&amp;amp;quot;barCB is unchecked&amp;amp;quot;);&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
			}&lt;br /&gt;
		}); &lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		/*&lt;br /&gt;
		 * for (;;){ try { //设置当前显示睡眠1秒 Thread.sleep(1000); } catch&lt;br /&gt;
		 * (InterruptedException e) { // TODO Auto-generated catch block&lt;br /&gt;
		 * e.printStackTrace(); } if (toastCB.isChecked()){&lt;br /&gt;
		 * System.out.println(&amp;amp;quot;toastCB is Checked&amp;amp;quot;); } else { continue; } }&lt;br /&gt;
		 */&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	// TODO button listener&lt;br /&gt;
	class startButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			// TODO Auto-generated method stub&lt;br /&gt;
			// reset my counter&lt;br /&gt;
			myThreadCounter = 0;&lt;br /&gt;
			handler.post(myThread);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}	&lt;br /&gt;
	class endButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			// TODO Auto-generated method stub&lt;br /&gt;
			handler.removeCallbacks(myThread);&lt;br /&gt;
			System.out.println(&amp;amp;quot;Okay, someone removed myThread, who it is!who it is!! Give me ur name!!!&amp;amp;quot;);&lt;br /&gt;
			&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	class resetBarButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			// TODO I kinda Thought this is also a stupid method to reset...&lt;br /&gt;
			myThreadCounter4Bar = myThreadCounter;&lt;br /&gt;
			bar.setProgress(0);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	class speedUpButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			speed += 200;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	class speedDownButtonListener implements OnClickListener{&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void onClick(View v) {&lt;br /&gt;
			speed -= 200;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	// handler&lt;br /&gt;
	Handler handler = new Handler();&lt;br /&gt;
	Runnable myThread = new Runnable(){&lt;br /&gt;
&lt;br /&gt;
		@Override&lt;br /&gt;
		public void run() {&lt;br /&gt;
			// TODO Auto-generated method stub&lt;br /&gt;
			myThreadCounter += 1;&lt;br /&gt;
			System.out.println(&amp;amp;quot;This is the &amp;amp;quot; + myThreadCounter + &amp;amp;quot; Times my thread running&amp;amp;quot;);&lt;br /&gt;
			// mystuff&lt;br /&gt;
			/*&lt;br /&gt;
			if (toastCB.isChecked()){&lt;br /&gt;
				Toast.makeText(myHandlerActivity.this,&amp;amp;quot;This is the thread running&amp;amp;quot;,Toast.LENGTH_SHORT); // &amp;amp;quot; + myThreadCounter + &amp;amp;quot; Times my &lt;br /&gt;
			}&lt;br /&gt;
			*/&lt;br /&gt;
			// TODO there gotta be some way else other than stupid way like this...   3 boolen? god....&lt;br /&gt;
			System.out.println(&amp;amp;quot;ToastCB? &amp;amp;quot; + isToastCBChecked + &amp;amp;quot; TextViewCB? &amp;amp;quot; + isTextViewCBChecked + &amp;amp;quot; BarCB? &amp;amp;quot; + isBarCBChecked);&lt;br /&gt;
			&lt;br /&gt;
			if (isToastCBChecked){&lt;br /&gt;
				Toast.makeText(myHandlerActivity.this,&amp;amp;quot;This is the &amp;amp;quot; + myThreadCounter + &amp;amp;quot; Times my thread running&amp;amp;quot;,Toast.LENGTH_SHORT).show(); // &lt;br /&gt;
			}&lt;br /&gt;
			if (isTextViewCBChecked){&lt;br /&gt;
				myTextView.setText(&amp;amp;quot;This is the &amp;amp;quot; + myThreadCounter + &amp;amp;quot; Times my thread running&amp;amp;quot;);&lt;br /&gt;
			}&lt;br /&gt;
			if (isBarCBChecked){&lt;br /&gt;
				bar.setProgress(myThreadCounter-myThreadCounter4Bar);&lt;br /&gt;
				System.out.println(&amp;amp;quot;New, the bar total Progress is: &amp;amp;quot; + (int)(myThreadCounter-myThreadCounter4Bar));&lt;br /&gt;
			}&lt;br /&gt;
			// again&lt;br /&gt;
			handler.postDelayed(myThread, speed);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	};&lt;br /&gt;
	&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;CODE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
	布局文件&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre name=&amp;quot;code&amp;quot; class=&amp;quot;html&amp;quot;&amp;gt;&amp;amp;lt;?xml version=&amp;amp;quot;1.0&amp;amp;quot; encoding=&amp;amp;quot;utf-8&amp;amp;quot;?&amp;amp;gt;&lt;br /&gt;
&amp;amp;lt;LinearLayout xmlns:android=&amp;amp;quot;http://schemas.android.com/apk/res/android&amp;amp;quot;&lt;br /&gt;
    android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
    android:layout_height=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
    android:orientation=&amp;amp;quot;vertical&amp;amp;quot; &amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;amp;lt;TextView&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/myTextView&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;myTextView was not open by default, well, don&#039;t blame your self for that&amp;amp;quot; &lt;br /&gt;
        android:cursorVisible=&amp;amp;quot;false&amp;amp;quot;/&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;amp;lt;ProgressBar&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/bar&amp;amp;quot;&lt;br /&gt;
        style=&amp;amp;quot;?android:attr/progressBarStyleHorizontal&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:visibility=&amp;amp;quot;invisible&amp;amp;quot;&lt;br /&gt;
        android:max=&amp;amp;quot;100&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;amp;lt;CheckBox&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/toastCB&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;toastCB&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;CheckBox&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/textCB&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;textCB&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;CheckBox&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/barCB&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;barCB&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;LinearLayout &lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:orientation=&amp;amp;quot;horizontal&amp;amp;quot;&lt;br /&gt;
        &amp;amp;gt;&lt;br /&gt;
	        &lt;br /&gt;
	    &amp;amp;lt;Button&lt;br /&gt;
	        android:id=&amp;amp;quot;@+id/resetBar&amp;amp;quot;&lt;br /&gt;
	        android:layout_width=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:text=&amp;amp;quot;resetBar&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	    &amp;amp;lt;Button&lt;br /&gt;
	        android:id=&amp;amp;quot;@+id/resetTextView&amp;amp;quot;&lt;br /&gt;
	        android:layout_width=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:text=&amp;amp;quot;resetTextView&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	    &amp;amp;lt;Button&lt;br /&gt;
	        android:id=&amp;amp;quot;@+id/speedUP&amp;amp;quot;&lt;br /&gt;
	        android:layout_width=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:text=&amp;amp;quot;speed +&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	    &amp;amp;lt;Button&lt;br /&gt;
	        android:id=&amp;amp;quot;@+id/speedDown&amp;amp;quot;&lt;br /&gt;
	        android:layout_width=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
	        android:text=&amp;amp;quot;speed -&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
	        &lt;br /&gt;
    &amp;amp;lt;/LinearLayout&amp;amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    &amp;amp;lt;Button&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/startButton&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;start&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;amp;lt;Button&lt;br /&gt;
        android:id=&amp;amp;quot;@+id/endButton&amp;amp;quot;&lt;br /&gt;
        android:layout_width=&amp;amp;quot;fill_parent&amp;amp;quot;&lt;br /&gt;
        android:layout_height=&amp;amp;quot;wrap_content&amp;amp;quot;&lt;br /&gt;
        android:text=&amp;amp;quot;end&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
&amp;amp;lt;/LinearLayout&amp;amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;/div&gt;</summary>
		<author><name>Qzhu496</name></author>
	</entry>
</feed>