老罗(18)发送Handler更新ProgressBar
2016-02-29 12:03
267 查看
首先:点击start更新进度条
Handler相关参考:
Android(14)Handler简单例子(1)
Handler(15):工作线程向主线程发送消息
线程相关参考Java4Android
java4Android(17)(18) 多线程两种实现方法
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/container" android:layout_width="match_parent" android:orientation="horizontal" android:layout_height="match_parent" > <ProgressBar android:id="@+id/progressBar" android:layout_width="match_parent" android:layout_height="wrap_content" android:visibility="gone" style="?android:attr/progressBarStyleHorizontal" /> <Button android:id="@+id/start_btn" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="start" > </Button> </LinearLayout>
public class MainActivity extends Activity { private Button mStartBtn; private ProgressBar mProgressBar; UpdateHandler mHandler = new UpdateHandler(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mStartBtn = (Button)findViewById(R.id.start_btn); mProgressBar = (ProgressBar)findViewById(R.id.progressBar); mStartBtn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { //点击start按钮后,显示progressBar mProgressBar.setVisibility(View.VISIBLE); //执行Runnable中的run方法 mHandler.post(updateRunnalbe); } }); } Runnable updateRunnalbe = new Runnable() { int i = 0; @Override public void run() { i = i + 10; Message msg = mHandler.obtainMessage(); msg.what = 0x2016; msg.arg1 = i; try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } //当进度条等于100时停止发送消息 if(i > 100){ return; } Log.d("xiaoxi","updateRunnalbe"); //执行UpdateHandler中的handlerMessage方法 mHandler.sendMessage(msg); } }; class UpdateHandler extends Handler{ @Override public void handleMessage(Message msg) { super.handleMessage(msg); mProgressBar.setProgress(msg.arg1); mHandler.post(updateRunnalbe); } } }
Handler相关参考:
Android(14)Handler简单例子(1)
Handler(15):工作线程向主线程发送消息
线程相关参考Java4Android
java4Android(17)(18) 多线程两种实现方法
相关文章推荐
- 微观经济学--第5章 弹性及其应用
- Google Protobuf 简单使用
- Spring MVC and Maven – first project: Hello world! Basic template
- JavaScript实现点击按钮字体放大、缩小
- [HDU 4687]Boke and Tsukkomi[一般图匹配][带花树]
- 讣告:『Linux 中国』联合创始人王兴江先生因病辞世
- 2015年必火的五个Html5移动开发工具推荐
- 南京大学Sweeper(2000)原创:地理系在哈佛的灭亡与计量革命
- 2015 java 第168期全套包含springmvc mybatis shiro视频教程
- 去掉selenium启动firefox每次都会弹出导入系统收藏夹提示框的方法
- libgdx [TextrurePaker]
- eclipse下NDK生成.SO文件
- 2015 java 第168期全套包含springmvc mybatis shiro视频教程
- html和css实现一级菜单和二级菜单学习笔记
- theano 0.8与pydot、graphziv的冲突解决
- 2步开启Safari审查元素
- 有关GIT
- 第三十八天
- github常见操作和常见错误解决方法收集整理
- 1948-2006:哈佛大学地理系的灭亡与地理学的重生