標籤:
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()同時使用解決方案