Android如何解决子线程进度条不显示的问题-创新互联

这篇文章主要为大家展示了“Android如何解决子线程进度条不显示的问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Android如何解决子线程进度条不显示的问题”这篇文章吧。

创新互联公司主要从事成都网站设计、成都网站制作、网页设计、企业做网站、公司建网站等业务。立足成都服务天心,十年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:028-86922220

不显示进度条的代码逻辑:

首先,新建了一个类,此类有一个内部类,内部类继承Therad

类中有一个普通方法,普通方法执行的时候调用此方法中的内部类。

这时候,展示进度条。

进度条展示在普通方法中,那么实际展示的时间是在内部类执行完成后才展示,这样当然是不行的··

进度条在子线程中展示则报错,百度的方法试过都不行。怎么办呢。

解决方案:

在类中建立一个普通的方法,

方法里直接new出子线程然后start

子线程中通过handler消息机制将耗时操作的数据结果返回给handler

handler接收到消息后作出对应的处理。

handler是可以直接跳转activity的。这点比较重要。

部分代码展示:

handler代码:

Handler handler = new Handler(){

   @Override

   public void handleMessage(Message msg) {

       super.handleMessage(msg);

       if(msg.what==0){

           pb.dismiss();

           String data = (String) msg.obj;

           if(data.equals("0")){

            Toast.makeText(context,"验证失败,请重新登陆",Toast.LENGTH_LONG).show();

               SqliteDao sqliteDao = new SqliteDao(context);

               sqliteDao.deletebbusinessdocumentlogin();

           }else {

               Toast.makeText(context, "验证成功", Toast.LENGTH_LONG).show();

               Intent intent = new Intent(context, ordergoods.class);

               context.startActivity(intent);

           }

       }

   }

};

子线程返回结果集发送给handler的代码:

handler.obtainMessage(0,returndata).sendToTarget();

以上是“Android如何解决子线程进度条不显示的问题”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。

标题名称:Android如何解决子线程进度条不显示的问题-创新互联
新闻来源:https://www.cdcxhl.com/article4/coocie.html

成都网站建设公司_创新互联,为您提供手机网站建设软件开发网站策划响应式网站云服务器网站维护

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

营销型网站建设