代码之家  ›  专栏  ›  技术社区  ›  Habooltak Ana

图像切换器工作不正常

  •  1
  • Habooltak Ana  · 技术社区  · 8 年前

    我有一个android应用程序,它应该显示广告,这些广告是从服务器上拉出来的,然后它们被保存在手机上,我做了一个方法,应该显示广告,但不幸的是,它没有按预期工作,它显示了很长一段时间的第一个图像,然后它在它们上面循环太快,我不知道为什么

    private void startShowAds(final ArrayList<Ad> adArrayList) {
        Handler handler = new Handler();
        for (int i = 0; i < adArrayList.size(); i++) {
            Ad ad = adArrayList.get(i);
            Runnable runnable = new Runnable() {        
                public void run() {
                    imageView.setBackgroundDrawable(getBitMap(ad.getFileUri()));
                    handler.postDelayed(this, ad.getDuration());
                }
            };
            handler.postDelayed(runnable, ad.getDuration());
        }
        startShowAds(dbHelper.getAllAdRecords(longitude, latitude));
    }
    

    任何帮助都将不胜感激

    1 回复  |  直到 8 年前
        1
  •  1
  •   Juan Cruz Soler    8 年前

    private void startShowAds(final ArrayList<Ad> adArrayList) {
        Handler handler = new Handler();
        long offset = 0; 
        for (int i = 0; i < adArrayList.size(); i++) {
            Ad ad = adArrayList.get(i);
            Runnable runnable = new Runnable() {
                public void run() {
                    imageView.setBackgroundDrawable(getBitMap(ad.getFileUri()));;
                }
            };
            handler.postDelayed(runnable, offset);
            offset += ad.getDuration();
        }
    }
    
    推荐文章