Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 542|回复: 0

Q&A: 复制文件时进度条动不了

[复制链接]

该用户从未签到

发表于 2011-10-22 18:52:06 | 显示全部楼层 |阅读模式
复制文件时进度条动不了,复制完就动了。
package com.cellcom;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.widget.Button;
import android.widget.ProgressBar;
import android.widget.TextView;

/**
*
* @author nwang
*
*         进度条ProgressBar与线程使用。单击开始按钮,进度条水平方向前进!
*
*/
public class ProgressBarHandlerActivity extends Activity
{
        /** Called when the activity is first created. */

        private Button startButton;
        private Button stopButton;
        private TextView result;
        private ProgressBar firstProgressBar;
        private final static int defaultValue = 10;
        private int i = 0;

        @Override
        public void onCreate(Bundle savedInstanceState)
        {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.main);

                startButton = (Button) findViewById(R.id.startButton);
                stopButton = (Button) findViewById(R.id.stopButton);
                result = (TextView) findViewById(R.id.result);
                firstProgressBar = (ProgressBar) findViewById(R.id.firstProgressBar);

                firstProgressBar.setVisibility(0);// 刚开始设置进度条可见

                startButton.setOnClickListener(new View.OnClickListener()
                {

                        @Override
                        public void onClick(View v)
                        {
                                /*
                                 * i+=defaultValue; firstProgressBar.setProgress(i);
                                 * firstProgressBar.setSecondaryProgress(i+defaultValue);
                                 */
                                result.setText(((double) i / firstProgressBar.getMax() * 100) + "%");
                                handler.post(progressBarThread);
                        }
                });

                stopButton.setOnClickListener(new View.OnClickListener()
                {

                        @Override
                        public void onClick(View v)
                        {
                                handler.removeCallbacks(progressBarThread);
                        }
                });
        }

        // 创建Handler对象
        Handler handler = new Handler();

        // 创建线程对象
        MyRunnable progressBarThread = new MyRunnable();

        class MyRunnable implements Runnable
        {
                @Override
                public void run()
                {
                        i += defaultValue;
                        handler.postDelayed(progressBarThread, 1000);
                        firstProgressBar.setProgress(i);
                        firstProgressBar.setSecondaryProgress(i + defaultValue);
                        result.setText(((double) i / firstProgressBar.getMax() * 100) + "%");
                        if (i >= firstProgressBar.getMax())
                                i = 0;

                }

        }



上面是某人的代码,可以运行。但是我在点击按键后加上复制文件,进度条就不动了。
求大神解答或者给了更好的代码。谢谢。
回复

使用道具 举报

该用户从未签到

发表于 2011-10-22 18:52:12 | 显示全部楼层

Re:Q

package mars.progressbar;



import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.ProgressBar;



public class ProgressBarTest extends Activity {

    /** Called when the activity is first created. */

        //声明变量

        private ProgressBar firstBar =null;

        private ProgressBar secondBar = null;

        private Button myButton = null;

        private int i = 0 ;

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        //根据控件的ID来取得代表控件的对象

        firstBar = (ProgressBar)findViewById(R.id.firstBar);

        secondBar = (ProgressBar)findViewById(R.id.secondBar);

        myButton = (Button)findViewById(R.id.myButton);

        myButton.setOnClickListener(new ButtonListener());

    }

    class ButtonListener implements OnClickListener{

            

                @Override

                public void onClick(View v) {

                        if(i == 0)

                        {

                                //设置进度条处于可见的状态

                                firstBar.setVisibility(View.VISIBLE);

                                firstBar.setMax(150);

                                secondBar.setVisibility(View.VISIBLE);

                        }

                        else if ( i < firstBar.getMax()){

                                //设置主进度条的当前值

                                firstBar.setProgress(i);

                                //设置第二进度条的当前值

                                firstBar.setSecondaryProgress(i + 10);

                                //因为默认的进度条无法显示进行的状态

                                //secondBar.setProgress(i);

                                

                        }

                        else{

                                //设置进度条处于不可见状态

                                firstBar.setVisibility(View.GONE);

                                secondBar.setVisibility(View.GONE);

                        }

                        i = i + 10 ;

                }

            

    }

   

}
[/code]给个mars关于进度条的 源码。。。不知道有没有参考价值!!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2025-1-10 13:44 , Processed in 0.414452 second(s), 33 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表