I used postedDelayed method to refresh my Activity, which works fine. But the problem is that even when I press the Back button postdelayed method call back the previous activity..
//handler for 30000 milli-secs post delay refreshment of the activity
mHandler.postDelayed(new Runnable() {
public void run() {
dostuff();
}
}, 30000);
}
protected void dostuff() {
Intent intent = getIntent();
finish();startActivity(intent);
Toast.makeText(getApplicationContext(), "refreshed", Toast.LENGTH_LONG).show();
}
public void onBackPressed() {
super.onBackPressed();
finish();
mHandler.removeCallbacks(null);
}
protected void onStop() {
mHandler.removeCallbacks(null);
super.onStop();
}
-
Please post your code ........to check the problemandroidgeek– androidgeek2013年04月17日 04:25:03 +00:00Commented Apr 17, 2013 at 4:25
3 Answers 3
You can use removeCallbacks(runnable) method of the handler using which you are calling postDelayed() method. For example, if you used:
mHandler.postDelayed(mRunnable, mTime)
for refreshing the activity, then use
mHandler.removeCallbacks(mRunnable)
in onPause() method of the activity.
1 Comment
Make a sign of boolean in your postdelayed method. Init the sign as true,when the activity is finnished , set the value of sign as false.
1 Comment
You can use this piece of code to run after a 3 sec delay.
new Timer().schedule(new TimerTask() {
@Override
public void run() {
// run your code here
}
}, 3000);
Comments
Explore related questions
See similar questions with these tags.