关于android 获取进度条进度值,获取有问题 -问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

关于android 获取进度条进度值,获取有问题

2016-03-12 11:51:56 2479 1

android 获取进度条进度值,加断点可以获取到,不加断点就获取不到,,而且加断点是每次跑的值都不一样

这个是代码的一部分,,

btn_dignosis.setVisibility(View.GONE);
        cirProgress.setVisibility(View.VISIBLE);
        startProgress(); // 加载进度条
        currentProgress = cirProgress.getProgress();
        new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    Thread.sleep(3000);
                    currentProgress = cirProgress.getProgress();
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }).start();
        tv_info.setText("重新检测");
        tv_info.setEnabled(true);
        // 获取当前系统时间
        tv_lastScanTime.setText(getSysDate());
        // 下划线
        tv_info.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);
        tv_info.getPaint().setAntiAlias(true);// 抗锯齿
        // 重新检测加载进度条
        tv_info.setClickable(true);
        tv_info.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                startProgress(); // 重新加载进度条
            }
        });
    下面是startProgress()方法的代码
        // 加载进度条
private void startProgress() {

    if (!running) {
        new Thread(new Runnable() {
            @Override
            public void run() {
                while (progress <= 58) {
                    progress += 2;
                    cirProgress.setProgress(progress);
                    try {
                        Thread.sleep(70);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
                progress = 0;
                running = false;
            }
        }).start();
    }
}
取消 提交回答
全部回答(1)
  • 爵霸
    2019-07-17 19:00:37

    你在线程外获取线程里边的值,当自动运行的时候,两句代码之间执行消耗的时间很小,所以currentProgress不加断点的时候都是0,当你debug调试的时候,因为debug会卡在currentProgress = cirProgress.getProgress(); 给线程足够的时间能够运行,所以debug的时候能够获取到数据。
    你可以使用 Mr_dsw 的方案或者使用AsyncTask。

    0 0
相关问答

1

回答

如何在水平进度条android中设置进度

2020-01-18 22:50:06 225浏览量 回答数 1

1

回答

如何在水平进度条android中设置进度

2020-01-18 22:03:48 191浏览量 回答数 1

0

回答

原生安卓引入uc webview sdk,(U4内核)可行?

2021-11-15 10:30:41 1094浏览量 回答数 0

0

回答

安卓集成视频播放器SDK问题

2020-11-30 11:34:04 295浏览量 回答数 0

1

回答

使用安卓SDK下载OSS对象时出现超时

2018-02-10 03:18:20 1197浏览量 回答数 1

0

回答

【视频云端SDK】关于安卓指令集的兼容,Library xxx.so not found

2018-01-18 11:51:46 3454浏览量 回答数 0

1

回答

阿里云安卓推流sdk设置横屏

2017-03-25 14:54:41 2807浏览量 回答数 1

1

回答

安卓设备使用阿里云移动推送SDK的流程和原理是什么

2017-03-14 16:57:58 3499浏览量 回答数 1

1

回答

在安卓中必须搭建maven环境才可以用视频播放的sdk吗

2016-08-15 14:46:22 2018浏览量 回答数 1

1

回答

请问微信分享sdk分享二维码图片到安卓微信,没有长按识别二维码选项

2016-03-09 18:36:56 3643浏览量 回答数 1
+关注
文章
问答
问答排行榜
最热
最新
相关电子书
更多
Android内存泄漏自动化链路分析组件Probe
立即下载
复杂环境下的视觉同时定位与地图构建
立即下载
Android应用启动速度和内存优化实践
立即下载