2017-01-07 17 views
2

のコードに任意の3000メートル/秒を実行するためにどのようにこの方法を実行する任意の3000M/S私は法の下に書いて、私が欲しいアンドロイド

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

私はそれをどのように行うことができますか?

+0

3000m/sとはどういう意味ですか?代わりに1秒あたりのフレーム数を意味しますか? –

+0

@AnkurAggarwal、私の平均は、今まで3秒間onShakeImageで実行されています。手伝って頂けますか? – user7386713

答えて

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

ありがとうございましたが、私の仕事はありません:( – user7386713

+0

@ user7386713この目的のためにHandlerのpostDelayed関数を使用してください。 –

+0

このコードをフラグメント – user7386713

関連する問題