我有一个闪屏"介绍"活动,只显示应用程序的标题。以及有关开发人员的简要信息,它有button
名为" skip"。我创建了一个postHandler
,以便主要活动在3秒后自动启动。或者,主要活动应在按下skip
按钮时开始。如果"跳过"按下button
它应该使postHandled callbacks
无效/删除。但是,即使在我按下"跳过" button
并移动到主Activity,主活动再次开始,好像,mHandler.removeCallbacks(mRunnable);
未被调用。我只想按下"跳过button
移动到主活动一次,它不应该在"跳过" button
被迫了。请参阅下面的代码,让我知道错误或缺失。
代码:
mHandler = new Handler();
mRunnable = new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
Intent intent01 = new Intent(Intro.this, MainMenuActivity.class);
startActivity(intent01);
finish();
}
};
....
....
mHandler.postDelayed(mRunnable, SPLASH_TIME_OUT);
introButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
mHandler.removeCallbacks(mRunnable);
Intent intent00 = new Intent(Intro.this, MainMenuActivity.class);
startActivity(intent00);
finish();
}
});
答案 0 :(得分:1)
将您的逻辑放在onDestroy()
中@Override
protected void onDestroy() {
super.onDestroy();
mHandler.removeCallbacks(mRunnable);
Log.d("Callbacks", "Removed");
}