ProgressBar + AsyncTask (普通的进度条)10秒后完成
10 完成 普通 进度条 AsyncTask ProgressBar
2023-09-27 14:29:04 时间
xml 布局简单就不给出了
下面是 java 代码
- package com.xiaoxiong.summer;
- import android.R;
- import android.app.Activity;
- import android.os.AsyncTask;
- import android.os.Bundle;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.widget.Button;
- import android.widget.ProgressBar;
- import android.widget.Toast;
- public class ProgressBarActivity extends Activity {
- private ProgressBar progerss_nomal;
- private Button btn_start;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(com.xiaoxiong.summer.R.layout.progress);
- progerss_nomal = (ProgressBar)findViewById(com.xiaoxiong.summer.R.id.progressBar_nomal);
- btn_start =(Button)findViewById(com.xiaoxiong.summer.R.id.button_start);
- btn_start.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View arg0) {
- // ProgressTask task = new ProgressTask();
- // task .execute("hello world");
- new ProgressTask().execute("helloworld");
- }
- });
- }
- ///* AsyncTask的构造函数有三个模板参数
- // params 传递给后台任务的数据类型
- // Progress 后台任务的参数的类型
- // Result 后台执行返回的结果类型
- // AsyncTask并不总是需要使用上面的全部3种类型。标识不使用的类型很简单,只需要使用Void类型即可。*/
- class ProgressTask extends AsyncTask<String ,Integer,String>{
- @Override
- protected String doInBackground(String... arg0) {
- //处理后台任务,在后台线程执行 不能再此 有操作UI的操作
- progerss_nomal.setProgress(0); // 进度条复位
- int i = 0;
- for (i = 0; i <= 100; i++) {
- publishProgress(i); // 将会调用onProgressUpdate方法
- try {
- Thread.sleep(50);
- } catch (InterruptedException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- return arg0[0];
- }
- @Override
- protected void onPostExecute(String result) {//执行完成后
- Toast.makeText(ProgressBarActivity.this,result , Toast.LENGTH_SHORT).show();
- progerss_nomal.setProgress(0);
- }
- @Override
- protected void onPreExecute() {//在 doInBackground(Params...)之前被调用,在ui线程执行
- progerss_nomal.setProgress(0); // 进度条复位
- Toast.makeText(ProgressBarActivity.this,"执行完毕后输出 helloworld" , Toast.LENGTH_SHORT).show();
- }
- @Override
- protected void onProgressUpdate(Integer... values) {
- progerss_nomal.setProgress(values[0]);
- }
- }
- }
相关文章
- Haskell 学习笔记-10:高精度除法、排列枚举算法实现
- 激活函数 | 深度学习领域最常用的10个激活函数,详解数学原理及优缺点
- 极客日报:腾讯宣布捐赠1亿元驰援河南;苹果回应iPhone 安全隐患;贝索斯完成10分钟太空之旅
- 7月10日科技资讯|任正非:鸿蒙不用于手机;IBM 340 亿美元红帽收购案完成;Firefox 68.0 发布
- Docker宣布支持Windows 10和Azure Windows Server
- 云计算核心组件QEMU连爆10枚高危漏洞
- 阿里全面进军商超 首站北京补贴10亿
- 2022-10-26 Unity 2进制3——文件夹操作
- 阿里天蝎计划 服务器部署效率提升10倍
- 10个不为人知但功能强大的黑科技网站
- 程序员到高级程序员,只需要10个步骤!
- 2019-10-7-WPF-will-break-when-an-exception-be-throw-in-the-StylusPlugIn
- 2018-8-10-C#-写系统日志
- 2018-8-10-win10-uwp-MVVM-轻量框架
- 在VMware上面安装Solaris 10
- 10循环控制语句