AsyncTask 不能與Thread.sleep()同時使用解決方案

來源:互聯網
上載者:User

標籤:

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() {@Overridepublic void run() {try {Thread.currentThread();Thread.sleep(10000);startActivity(new Intent(MainActivity.this, NextActivity.class));} catch (InterruptedException e) {e.printStackTrace();}}};@Overrideprotected 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() {@Overridepublic void onClick(View v) {MainActivity.this.startActivity(new Intent(MainActivity.this,AdsActivity.class));}});}private class LoadImage extends AsyncTask<String, String, Bitmap> {@Overrideprotected 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發送訊息,來實現效果...............

AsyncTask 不能與Thread.sleep()同時使用解決方案

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.