.Net程序员安卓学习之路6:等待条

一般在需要访问网络或者长时间操作的时候避免界面无响应才使用:等待条

本例将实现一个无框架的等待条,效果如下:

wpsB84B.tmp

点击后,使线程Sleep5秒,就出现如下效果:

 

wpsD232.tmp

实现代码如:

复制代码
    private ProgressDialog pd;

    public void btn_click(View v) {
        pd = ProgressDialog.show(MainActivity.this, "标题", "加载中,请稍后……");
        /* 开启一个新线程,在新线程里执行耗时的方法 */
        new Thread(new Runnable() {
            @Override
            public void run() {
                spandTimeMethod();// 耗时的方法
                handler.sendEmptyMessage(0);// 执行耗时的方法之后发送消给handler
            }
        }).start();
    }

    private void spandTimeMethod() {
        try {
            Thread.sleep(5000);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    Handler handler = new Handler() {
        @Override
        public void handleMessage(Message msg) {// handler接收到消息后就会执行此方法
            pd.dismiss();// 关闭ProgressDialog
        }
    };
复制代码

 

posted @   石曼迪  Views(494)  Comments(0Edit  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
瓴域建设-环保事业中心
点击右上角即可分享
微信分享提示