我有一些问题OnTouchListener
。我希望每次当用户触摸屏幕进入某个活动时。问题是,当我触摸屏幕时,它正在为当前活动进行刷新并开始(当前活动包含 aViewFlipper
并且当触摸屏幕时,viewflipper 开始从头开始翻转)。只有在第二次触摸时,应用程序才会进入下一个活动。谁能帮我解决这个问题?
我目前的活动扩展OnTouchListener
,我设置myviewflipper.setonTouchListener(this)
,我的onTouch()
方法是:
@Override
public boolean onTouch(View v, MotionEvent event) {
finish=true;
Intent intent = new Intent(getBaseContext(), FinishApplication.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();
return true;
}
在我触摸屏幕后称为onPause()
and onResume()
。在onResume()
方法上,我为某些更新启动了一些计时器(进行更新时,幻灯片开始),我认为这就是我的活动被刷新的原因。我将一个变量布尔值设置finish
为true
仅在触摸屏幕后才开始更新,但仅当finish
它false
不工作时才开始更新。我的变量未设置为 true。任何其他想法我该如何解决这个问题?
@Override
protected void onResume() {
super.onResume();
System.out.println("OnResume ViewPlaylist!!");
t = new Timer();
t.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable() {
public void run() {
Imalive();
}
});
}
}, 300, 30000);
if (finish != true) {
System.out.println("Start update!");
update = new Timer();
update.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable() {
public void run() {
updateItems();
}
});
}
}, 30000, 20000);
} else {
finish = true;
Intent intent = new Intent(SlideShow.this, FinishApplication.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();
}
}