满堂花醉三千客,一剑霜寒十四洲。这篇文章主要讲述Android子线程进度条不显示的问题相关的知识,希望能为你提供帮助。
不显示进度条的代码逻辑:
首先,新建了一个类,此类有一个内部类,内部类继承Therad
类中有一个普通方法,普通方法执行的时候调用此方法中的内部类。
这时候,展示进度条。
进度条展示在普通方法中,那么实际展示的时间是在内部类执行完成后才展示,这样当然是不行的··
进度条在子线程中展示则报错,百度的方法试过都不行。怎么办呢。
解决方案:
在类中建立一个普通的方法,
方法里直接new出子线程然后start
子线程中通过handler消息机制将耗时操作的数据结果返回给handler
handler接收到消息后作出对应的处理。
handler是可以直接跳转activity的。这点比较重要。
部分代码展示:
【Android子线程进度条不显示的问题】handler代码:
Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
if(msg.what==0){
pb.dismiss();
String data = https://www.songbingjia.com/android/(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();
推荐阅读
- AndroidFragment中调用getActivity为null的问题
- Android 那些年,处理getActivity()为null的日子
- HTML5 Plus移动App(5+App)开发入门指南
- Android封装类似微信的顶部TitleBar弹出的PopupWindow代码
- POJ 2385 Apple Catching
- Android View 上下左右四种间距的设置方法
- Android ScrollView 滚动到顶部
- Android RecyclerView 设置item间隔的方法
- HOJ13907Diana and the Golden Apples