2016-01-15 4 views
1

Я установил Interstitial ad в Detailactivity, но должен, если кнопка щелкнула на 4 раза, покажите рекламное объявление Interstitial? Это возможно? Я имею в виду смотреть на это;если кнопка нажата 4 раза, я могу показать Interstitial?

DetailActivity

private View.OnClickListener onFabButtonListener = new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      if (future == null) { 
       //prepare the call 
       future = Ion.with(DetailActivity.this) 
         .load(mSelectedImage.getHighResImage(mWallpaperWidth, mWallpaperHeight)) 
         .progressHandler(progressCallback) 
         .asInputStream(); 
       if (mInterstitialAd != null && mInterstitialAd.isLoaded()) 
        mInterstitialAd.show(); 

       animateStart(); 

       mFabButton.animate().rotation(360).setDuration(ANIMATION_DURATION_LONG).setListener(new CustomAnimatorListener() { 
        @Override 
        public void onAnimationEnd(Animator animation) { 
         streamAndSetImage(); 
         super.onAnimationEnd(animation); 
        } 

        @Override 
        public void onAnimationCancel(Animator animation) { 
         streamAndSetImage(); 
         super.onAnimationCancel(animation); 
        } 
       }).start(); 
      } else { 
       animateReset(false); 
      } 
     } 
    }; 

Пожалуйста, посмотрите на этот новый DetailActivity

Edited DetailActivity

int counter = 0; 
    private View.OnClickListener onFabButtonListener = new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 

      if (counter == 4) { 
       /** SHOW AD **/ 
       if (mInterstitialAd != null && mInterstitialAd.isLoaded()) 
        mInterstitialAd.show(); 
       /** RESET THE COUNTER **/ 
       counter = 0; 
      } else { 
       /** INCREMENT THE COUNTER **/ 
       counter++; 

       /** DO SOMETHING ELSE **/ 

      } 
      if (future == null) { 
       //prepare the call 
       future = Ion.with(DetailActivity.this) 
         .load(mSelectedImage.getHighResImage(mWallpaperWidth, mWallpaperHeight)) 
         .progressHandler(progressCallback) 
         .asInputStream(); 


       animateStart(); 

       mFabButton.animate().rotation(360).setDuration(ANIMATION_DURATION_LONG).setListener(new CustomAnimatorListener() { 
        @Override 
        public void onAnimationEnd(Animator animation) { 
         streamAndSetImage(); 
         super.onAnimationEnd(animation); 
        } 

        @Override 
        public void onAnimationCancel(Animator animation) { 
         streamAndSetImage(); 
         super.onAnimationCancel(animation); 
        } 
       }).start(); 
      } else { 
       animateReset(false); 
      } 
     } 
    }; 
+5

Несомненно. Храните счетчик (и целое число), инициализируя его ** ** **. Увеличивайте его каждый раз, когда нажимается кнопка. Когда значение счетчика достигнет ** 4 **, покажите объявление и сбросьте счетчик на ** 0 **. –

+0

Но я не знаю. Пожалуйста, напишите в коде? (Я новичок.) – UfukCampus

ответ

4

Что-то вроде это. Это непроверенное конечно, но логика должна быть полезной:

int counter = 0; 

private View.OnClickListener onFabButtonListener = new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      if (counter == 4) { 
       /** SHOW AD **/ 

       /** RESET THE COUNTER **/ 
       counter = 0; 
      } else { 
       /** INCREMENT THE COUNTER **/ 
       counter++; 

       /** DO SOMETHING ELSE **/ 
       // MOVE THIS BLOCK INSIDE THE ELSE BLOCK AS ILLUSTRATED 
       if (future == null) { 
        //prepare the call 
        future = Ion.with(DetailActivity.this) 
         .load(mSelectedImage.getHighResImage(mWallpaperWidth, mWallpaperHeight)) 
         .progressHandler(progressCallback) 
         .asInputStream(); 


        animateStart(); 

        mFabButton.animate().rotation(360).setDuration(ANIMATION_DURATION_LONG).setListener(new CustomAnimatorListener() { 
         @Override 
         public void onAnimationEnd(Animator animation) { 
          streamAndSetImage(); 
          super.onAnimationEnd(animation); 
         } 

         @Override 
         public void onAnimationCancel(Animator animation) { 
          streamAndSetImage(); 
          super.onAnimationCancel(animation); 
         } 
        }).start(); 
       } else { 
        animateReset(false); 
       } 
      } 
     } 
    }; 

Кроме того, вы можете сохранить значение counter используя SharedPreferences таким образом, количество кликов может храниться между использованием приложения сеансами.

+0

О, очень классно! Благодарим вас за подробности. – UfukCampus

+0

@ UfukCampus: Рад помочь. Удачи вам в развитии. :-) –

+1

@IceMAN сэр, скалы –

2

Вы можете попробовать это.

int Buttonclickcount=0; // You can declare this as global 

private View.OnClickListener onFabButtonListener = new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       Buttonclickcount++; // Increment +1 

       if(Buttonclickcount==4) // Count==4 
       { 
        // Do Your Staff // 
        Log.d("Tag Name", "Click 4 times"). 
       } 
       else 
       { 
        // Do Your Staff // 
        Log.d("Tag Name", "Click n times"). 

       } 
      } 
     }); 
+0

Сэр, ваш код не работает. – UfukCampus

+0

@ UfukCampus, что возвращает ??? Распечатайте это, если условие 'Log.d (« Имя тега »,« Если »).' & Say. –

+1

Подождите, я записываю экран. – UfukCampus

Смежные вопросы