にいくつか問題がありOnTouchListener
ます。ユーザーが画面に触れて特定のアクティビティに移動するたびに、それが必要です。問題は、画面に触れると、現在のアクティビティの更新のようなものが行われ、開始されることです (現在のアクティビティには a が含まれてViewFlipper
おり、画面に触れるとビューフリッパーが最初から反転し始めます)。2 回目のタッチでのみ、アプリは次のアクティビティに進みます。誰でもこれを解決するのを手伝ってもらえますか?
私の現在の活動は拡張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 に設定されていません。どうすればこれを解決できますか?true
finish
false
@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();
}
}