1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > android 多线程 进度条 Android子线程进度条不显示的问题

android 多线程 进度条 Android子线程进度条不显示的问题

时间:2019-06-16 04:47:16

相关推荐

android 多线程 进度条 Android子线程进度条不显示的问题

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

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

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

这时候,展示进度条。

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

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

解决方案:

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

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

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

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

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

部分代码展示:

handler代码:

Handlerhandler=newHandler(){

@Override

public voidhandleMessage(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 =newSqliteDao(context);

sqliteDao.deletebbusinessdocumentlogin();

}else{

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

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

context.startActivity(intent);

}

}

}

};

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

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。