android中的handler的使用方法
16lz
2022-04-20
HandlerActivity.java
package txlong.handler;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.util.Log;import android.view.View;import android.widget.Button;import android.widget.ProgressBar;public class HandlerActivity extends Activity {private Button start, end, show;private ProgressBar progress;private Handler handler = new Handler();private int tmp;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);start = (Button) findViewById(R.id.start);end = (Button) findViewById(R.id.end);show = (Button) findViewById(R.id.show);progress = (ProgressBar) findViewById(R.id.progress);start.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {handler.post(updateDate);}});end.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {handler.removeCallbacks(updateDate);}});show.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {progress.setVisibility(View.VISIBLE);progress.setProgress(0);handler.post(greate);}});}Runnable updateDate = new Runnable() {@Overridepublic void run() {Log.i("flag", "again");handler.postDelayed(updateDate, 3000);}};Runnable greate = new Runnable() {@Overridepublic void run() {if (progress.getProgress() < 100) {tmp += 10;progress.setProgress(tmp);progress.setSecondaryProgress(tmp + 10);handler.postDelayed(greate, 800);} else {handler.removeCallbacks(greate);progress.setVisibility(View.GONE);tmp = 0;}}};}
main.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" ><ProgressBar android:id="@+id/progress"style="?android:attr/progressBarStyleHorizontal"android:layout_width="200dip"android:layout_height="wrap_content"android:visibility="gone"/><Button android:id="@+id/start" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="start" /> <Button android:id="@+id/end" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="end" /> <Button android:id="@+id/show" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="show" /></LinearLayout>
更多相关文章
- 代码中设置drawableleft
- android 3.0 隐藏 系统标题栏
- Android开发中activity切换动画的实现
- Android(安卓)学习 笔记_05. 文件下载
- Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
- 技术博客汇总
- android 2.3 wifi (一)
- AndRoid Notification的清空和修改
- Android中的Chronometer