博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
AsyncTask 不能与Thread.sleep()同时使用解决方案
阅读量:5900 次
发布时间:2019-06-19

本文共 1897 字,大约阅读时间需要 6 分钟。

public class MainActivity extends Activity {	private ImageView iv_ads;	String urrstrString = "http://a.hiphotos.baidu.com/image/pic/item/7af40ad162d9f2d3f7ec95eeabec8a136327cc36.jpg";	Bitmap bitmap;	ProgressDialog pDialog;	private Handler handler = new Handler();	private Runnable runnable = new Runnable() {		@Override		public void run() {			try {				Thread.currentThread();				Thread.sleep(10000);				startActivity(new Intent(MainActivity.this, NextActivity.class));			} catch (InterruptedException e) {				e.printStackTrace();			}		}	};	@Override	protected void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		requestWindowFeature(Window.FEATURE_NO_TITLE);		setContentView(R.layout.activity_main);		iv_ads = (ImageView) findViewById(R.id.iv_ads);		new LoadImage().execute(urrstrString);		iv_ads.setOnClickListener(new OnClickListener() {			@Override			public void onClick(View v) {				MainActivity.this.startActivity(new Intent(MainActivity.this,						AdsActivity.class));			}		});	}	private class LoadImage extends AsyncTask
{ @Override protected void onPreExecute() { super.onPreExecute(); pDialog = new ProgressDialog(MainActivity.this); pDialog.setMessage("Loading Image ...."); pDialog.show(); } protected Bitmap doInBackground(String... args) { try { bitmap = BitmapFactory.decodeStream((InputStream) new URL( urrstrString).getContent()); } catch (Exception e) { e.printStackTrace(); } return bitmap; } protected void onPostExecute(Bitmap image) { if (image != null) { iv_ads.setImageBitmap(image); pDialog.dismiss(); handler.postDelayed(runnable, 4000); } else { pDialog.dismiss(); Toast.makeText(MainActivity.this, "Image Does Not exist or Network Error", Toast.LENGTH_SHORT).show(); } } }}

  异步线程与直接在oncreate() 中Thread.sleep()达不到预期的停留几秒的效果,可以用Handler发送消息,来实现效果...............

转载地址:http://uwrsx.baihongyu.com/

你可能感兴趣的文章
使用 PowerShell 创建和修改 ExpressRoute 线路
查看>>
PHP如何学习?
查看>>
谈教育与成长
查看>>
jni c++
查看>>
在C#中获取如PHP函数time()一样的时间戳
查看>>
Redis List数据类型
查看>>
大数据项目实践(四)——之Hive配置
查看>>
初学vue2.0-组件-文档理解笔记v1.0
查看>>
NG-ZORRO-MOBILE 0.11.9 发布,基于 Angular 7 的 UI 组件
查看>>
我就是一个救火员(DBA救援)
查看>>
Centos7安装Gitlab10.0
查看>>
Windows Server 笔记(六):Active Directory域服务:域控制器安装
查看>>
discuz X3登录流程分析
查看>>
上传图片预览
查看>>
程序设计的一些原理
查看>>
lagp,lacp详解
查看>>
LVS之DR模式原理与实践
查看>>
struts2+extjs
查看>>
Apache2.4.33安装无systemctl/service status/state显示
查看>>
Docker的系统资源限制及验证
查看>>