新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> Android 高级开发
    [返回] 中文XML论坛 - 专业的XML技术讨论区Android开发论坛『 Android 高级开发 』 → 【代码】AsyncTask 里面如何添加进度条 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 5067 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: 【代码】AsyncTask 里面如何添加进度条 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     挥戈回日 帅哥哟,离线,有人找我吗?魔羯座1987-12-26
      
      
      等级:大一(猛啃高等数学)
      文章:37
      积分:138
      门派:GOOGLEBBS.NET
      注册:2013/7/14

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给挥戈回日发送一个短消息 把挥戈回日加入好友 查看挥戈回日的个人资料 搜索挥戈回日在『 Android 高级开发 』 的所有贴子 访问挥戈回日的主页 引用回复这个贴子 回复这个贴子 查看挥戈回日的博客楼主
    发贴心情 【代码】AsyncTask 里面如何添加进度条

    很多网上进度条的demo都是handler的。但是如果用AsyncTask怎么能实现进度条?两种办法,一个是看google API 一种是看下面这个demo。此demo全是核心代码没有任何废话。
    public class MainActivity extends Activity {
    ProgressBar progressBar;
    Button buttonStartProgress;
    public class BackgroundAsyncTask extends
    AsyncTask<Void, Integer, Void> {
    int myProgress;
    @Override
    protected void onPostExecute(Void result) {
    // TODO Auto-generated method stub
    Toast.makeText(MainActivity.this,
    "onPostExecute", Toast.LENGTH_LONG).show();
    buttonStartProgress.setClickable(true);
    }
    @Override
    protected void onPreExecute() {
    // TODO Auto-generated method stub
    Toast.makeText(MainActivity.this,
    "onPreExecute", Toast.LENGTH_LONG).show();
    myProgress = 0;
    }
    @Override
    protected Void doInBackground(Void... params) {
    // TODO Auto-generated method stub
    while(myProgress<100){
    myProgress++;
    publishProgress(myProgress);
    SystemClock.sleep(100);
    }
    return null;
    }
    @Override
    protected void onProgressUpdate(Integer... values) {
    // TODO Auto-generated method stub
    progressBar.setProgress(values[0]);
    }
    }
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    buttonStartProgress = (Button)findViewById(R.id.startprogress);
    progressBar = (ProgressBar)findViewById(R.id.progressbar_Horizontal);
    progressBar.setProgress(0);
    buttonStartProgress.setOnClickListener(new Button.OnClickListener(){
    @Override
    public void onClick(View v) {
    // TODO Auto-generated method stub
    new BackgroundAsyncTask().execute();
    buttonStartProgress.setClickable(false);
    }});
    }
    }

    在xml里面做如下设置
    <p><?xml version="1.0" encoding="utf-8"?></p><p><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"</p><p>android:orientation="vertical"</p><p>android:layout_width="fill_parent"</p><p>android:layout_height="fill_parent"</p><p>></p><p><TextView</p><p>android:layout_width="fill_parent"</p><p>android:layout_height="wrap_content"</p><p>android:text="@string/hello"</p><p>/></p><p><Button</p><p>android:id="@+id/startprogress"</p><p>android:layout_width="fill_parent"</p><p>android:layout_height="wrap_content"</p><p>android:text="Start"</p><p>/></p><p><ProgressBar</p><p>android:layout_width="fill_parent"</p><p>android:layout_height="wrap_content"</p><p>style="?android:attr/progressBarStyleHorizontal"</p><p>android:id="@+id/progressbar_Horizontal"</p><p>android:max="100"</p><p>/></p><p></LinearLayout></p>

    由于只有一个类就不上传源码了。
    具体要注意的就是 继承AsyncTask的时候,所有重写的方法,最好看一眼google API。


       收藏   分享  
    顶(0)
      




    ----------------------------------------------
    欢迎加入清源的android学习交流群,群号是: 278744577,加群时请验证:w3,谢谢!

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2013/7/22 17:21:00
     
     GoogleAdSense魔羯座1987-12-26
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 Android 高级开发 』 的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2023/1/28 0:34:26

    本主题贴数1,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    62.988ms