HandlerActivity的一个test
- package activity_14.wyw;
- import android.app.Activity;
- import android.os.Bundle;
- import android.os.Handler;
- import android.os.Message;
- import android.view.Menu;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.widget.Button;
- import android.widget.ProgressBar;
- public class HandlerActivity extends Activity {
- private Button startButton = null;
- private ProgressBar bar = null;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_handler);
- bar = (ProgressBar) findViewById(R.id.bar);
- startButton = (Button) findViewById(R.id.startButton);
- startButton.setOnClickListener(new StartButtonListener());
- }
- class StartButtonListener implements OnClickListener {
- public void onClick(View v) {
- // TODO Auto-generated method stub
- bar.setVisibility(View.VISIBLE);
- updateBarHandler.post(updateThread);
- }
- }
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- getMenuInflater().inflate(R.menu.activity_handler, menu);
- return true;
- }
- Handler updateBarHandler = new Handler() {
- public void handleMessage(Message msg) {
- bar.setProgress(msg.arg1);
- updateBarHandler.post(updateThread);
- }
- };
- Runnable updateThread = new Runnable() {
- int i = 0;
- public void run() {
- // TODO Auto-generated method stub
- System.out.println("BEGIN THREAD");
- i = i + 10;
- Message msg = updateBarHandler.obtainMessage();
- msg.arg1 = i;
- try {
- Thread.sleep(1000);
- } catch (InterruptedException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- updateBarHandler.sendMessage(msg);
- if (i == 100) {
- updateBarHandler.removeCallbacks(updateThread);
- }
- }
- };
- }
转载于:https://blog.51cto.com/testest/981135