博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ProgressBar
阅读量:2298 次
发布时间:2019-05-09

本文共 3149 字,大约阅读时间需要 10 分钟。

package com.ouling.ex_handler;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.util.Log;import android.widget.ProgressBar;public class Ex_handlerActivity extends Activity {	final String TAG="HANDLER";	ProgressBar bar;	final int INC = 1;	final int DEC = 2;	boolean is_running = false;	Handler handler = new Handler() {		@Override		public void handleMessage(Message msg) {			// TODO Auto-generated method stub			super.handleMessage(msg);			switch (msg.what) {			case INC:				bar.incrementProgressBy(5);				Log.i(TAG, "Thread id "+Thread.currentThread().getId()+",handler INC");				break;			case DEC:				bar.incrementProgressBy(-5);				Log.i(TAG, "Thread id "+Thread.currentThread().getId()+",handler DEC");				break;			default:				Log.i(TAG, "Thread id "+Thread.currentThread().getId()+",handler DEFAULT");				break;			}		}	};	/** Called when the activity is first created. */	@Override	public void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		setContentView(R.layout.main);		bar = (ProgressBar) findViewById(R.id.progress);		Log.i(TAG, "oncreate thread id "+Thread.currentThread().getId());	}	@Override	protected void onStart() {		// TODO Auto-generated method stub		super.onStart();		bar.setProgress(0);		//使用handler方式		Thread handlerBarThread = new Thread(new Runnable() {			@Override			public void run() {				// TODO Auto-generated method stub				// 进度条增长				for (int i = 0; i < 20 && is_running; i++) {					try {						Thread.sleep(1000);						Message msg = new Message();						msg.what = INC;						handler.sendMessage(msg);						Log.i(TAG,"Thread id "+Thread.currentThread().getId()+",sendmessage INC");					} catch (Exception e) {						// TODO: handle exception					}				}				// 进度条减少				for (int i = 0; i < 20 && is_running; i++) {					try {						Thread.sleep(1000);						Message msg = new Message();						msg.what = DEC;						handler.sendMessage(msg);						Log.i(TAG,"Thread id "+Thread.currentThread().getId()+",sendmessage DEC");					} catch (Exception e) {						// TODO: handle exception					}				}			}		});				is_running=true;		//handlerBarThread		//handlerBarThread.start();						//postInvalidate方式		Thread postBarThread=new Thread(new Runnable() {						@Override			public void run() {				// TODO Auto-generated method stub				for(int i =0;i<20&&is_running;i++){					try {						Thread.sleep(1000);						bar.incrementProgressBy(5);						bar.postInvalidate();						Log.i(TAG, "Thread id "+Thread.currentThread().getId()+",postinvalidate ");					} catch (Exception e) {						// TODO: handle exception						Thread.currentThread().interrupt();					}									}				for(int i =0;i<20&&is_running;i++){					try {						Thread.sleep(1000);						bar.incrementProgressBy(-5);						bar.postInvalidate();						Log.i(TAG, "Thread id "+Thread.currentThread().getId()+",postinvalidate ");					} catch (Exception e) {						// TODO: handle exception						Thread.currentThread().interrupt();					}									}			}		});		postBarThread.start();			}	@Override	protected void onStop() {		// TODO Auto-generated method stub		super.onStop();		is_running=false;	}		}

转载地址:http://sfkib.baihongyu.com/

你可能感兴趣的文章
189. Rotate Array
查看>>
283. Move Zeroes
查看>>
80. Remove Duplicates from Sorted Array II
查看>>
41. First Missing Positive
查看>>
299. Bulls and Cows
查看>>
134. Gas Station
查看>>
42. Trapping Rain Water
查看>>
217. Contains Duplicate
查看>>
219. Contains Duplicate II
查看>>
220. Contains Duplicate III
查看>>
TreeSet & TreeMap
查看>>
57. Insert Interval
查看>>
352. Data Stream as Disjoint Intervals
查看>>
239. Sliding Window Maximum
查看>>
super & this
查看>>
容器关系:Collection
查看>>
java进阶3——接口和多态
查看>>
java进阶4——内部类
查看>>
java进阶5——日期类、包装类和正则表达式
查看>>
java进阶6——集合
查看>>