0
我有一些問題OnTouchListener
。我希望每次用戶觸摸屏幕前往某個活動。問題在於,當我觸摸屏幕時,它會爲當前活動做一些類似刷新的事情,並且它會啓動(當前活動包含ViewFlipper
,當觸摸屏幕時,視圖快速啓動將從開始翻轉)。只有第二次觸摸應用才能進行下一個活動。任何人都可以幫我解決這個問題嗎?OnTouchListener無法正常工作
我現在的活動來延長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()
和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();
}
}
你用調試器運行你的代碼嗎? – WarrenFaith 2012-02-20 10:33:38