方式一:使用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();
}
}

本文介绍了在Android应用中实现进度条自动更新的两种方法:使用Handler机制和自定义线程。通过实例代码详细展示了每种方法的具体实现步骤,帮助开发者更好地理解和应用。
2700

被折叠的 条评论
为什么被折叠?



