2017-01-07 1 views
2

Ich schreibe unten Methode ausgeführt werden soll, und ich möchte diese Methode jede 3000M/S laufenWie Code keine 3000m/s in android

public void onShakeImage() { 
    Animation shake; 
    shake = AnimationUtils.loadAnimation(context, R.anim.shake); 
    arrowHelpImage.setAnimation(shake); 
} 

, wie ich es tun kann?

+0

Was meinst du mit 3000 m/s? Meinst du stattdessen Bilder pro Sekunde? –

+0

@AnkurAggarwal, mein Durchschnitt ist in je 3 Sekunden onShakeImage laufen. kannst du mir helfen? – user7386713

Antwort

1
private Handler mHandler; 

@Override 
protected void onCreate(Bundle bundle) { 

mHandler = new Handler(); 
startRepeatingTask(); 
} 

@Override 
public void onDestroy() { 
    super.onDestroy(); 
    stopRepeatingTask(); 
} 

Runnable mStatusChecker = new Runnable() { 
@Override 
public void run() { 
     try { 
      onShakeImage(); //this function can change value of mInterval. 
     } finally { 
      mHandler.postDelayed(mStatusChecker, 3000); 
     } 
} 
}; 

void startRepeatingTask() { 
    mStatusChecker.run(); 
} 

void stopRepeatingTask() { 
    mHandler.removeCallbacks(mStatusChecker); 
} 
+0

Danke Mann, aber nicht arbeiten Sie mich :( – user7386713

+0

@ user7386713 Dann sollten Sie Handlers postDelayed Funktion für diesen Zweck verwenden.I wird bearbeiten !! –

+0

Ich schreibe diesen Code in Fragment – user7386713

Verwandte Themen