方式一:使用Handler
public class ProgressActivity extends Activity implements Runnable { private ProgressBar progress; Handler h = new Handler(); private int max=100,current,step; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_progress); progress = (ProgressBar) findViewById(R.id.progress); progress.setMax(max); progress.setProgress(0); step = max/10; h.post(this); } @Override protected void onDestroy() { super.onDestroy(); } @Override public void run() { current = progress.getProgress(); progress.setProgress(current+step); h.postDelayed(this, 1000); } }
方式二:使用自定义线程
有些微不对劲
public class ProgressActivity extends Activity { private ProgressBar progress; private int max = 100, current = 0, step = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_progress); progress = (ProgressBar) findViewById(R.id.progress); progress.setMax(max); progress.setProgress(0); step = max / 10; new Thread(new Runnable() { int i = 1; @Override public void run() { try { while (max != progress.getProgress()) { Log.i("次数", i + ""); i++; progress.setProgress(current + step); current = progress.getProgress(); Thread.sleep(1000); } } catch (InterruptedException e) { e.printStackTrace(); } } }).start(); } @Override protected void onDestroy() { super.onDestroy(); } }
相关推荐
通过Handler进行传递值更新进度条,源代码,希望对你有所帮助
Handler: A light, expressive Go HTTP handler.
NULL 博文链接:https://andli.iteye.com/blog/1489903
NULL 博文链接:https://lovezhou.iteye.com/blog/898126
使用hangdler消息机制更新进度条的状态,有开始,暂停,终止,重新开始线程的操作
android 很简单的进度条显示的demo,用了Thread 及handler,亲测可用
Android源代码:HandlerDemo。。。。。。。。。。。。
Handler在android里负责发送和处理消息。它的主要用途有(或者是干什么的): 1)执行计划任务,按计划(定时)发送消息或执行某个Runnanble(使用POST方法); 2)线程间通信,把从其他线程中发送来的消息放入消息...
android 中Handler 的几种写法,很简单的demo,大神简单修改下,用的是Handler.Callback,的方法
AsyncTask与Handler实现进度条的方式
这是Pro Android学习系列中Android Service部分的例子源代码。相关学习笔记见:http://blog.csdn.net/flowingflying/article/details/6212512
Android handler的三个小例子(最简单的,进度条,随机变换TextView字体颜色)
Android Handler类详解 Android Handler类详解 Android Handler类详解 Android Handler类详解
本篇文章是对在Android中Handler Runnable与Thread的区别进行了详细的分析介绍,需要的朋友参考下
import android.os.Handler; import android.app.Activity; import android.view.Menu; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { ...
xamarin学习笔记A13(安卓Handler异步消息处理)Android中只能在主线程进行UI操作,不能在子线程操作,要根据子线程执行的结果来更新UI时,需要用到安卓异步消息处理机制。
张贴到android.os.Handler Message或Runnable中的任何对象将在一段时间内被硬引用。 如果创建匿名Runnable并以较大的超时调用postDelayed ,则该Runnable将保留在内存中,直到超时为止。 即使您的Runnable看起来很...
利用http下载文件的小demo,带进度条更新及显示百分比,运行可用
Android Handler传值的,简单的介绍了Handler的用法