OnTouchListener不能正常工作

时间:2012-02-14 09:29:15

标签: android ontouchlistener onresume

OnTouchListener我遇到了一些问题。每当用户触摸屏幕进行某项活动时,我都希望这样。问题在于,当我触摸屏幕时,它正在为当前活动做出类似刷新的事情并且它开始(当前活动包含ViewFlipper,当触摸屏幕时,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()onResume()。在onResume()方法上,我启动一些计时器进行一些更新(进行更新时,幻灯片开始),我认为这就是我的活动刷新的原因。我只在屏幕触摸后才设置变量布尔finishtrue,并且仅当finishfalse但不起作用时才开始更新。我的变量未设置为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();


}
}

1 个答案:

答案 0 :(得分:0)

我通过finish()方法调用onPause()来解决此问题。