Android 这台机器运转不好
我在TouchListener上遇到了一些问题。我希望每次当用户触摸屏幕进入某个特定活动时,都能这样做。问题是,当我触摸屏幕时,它正在刷新当前活动并开始(当前活动包含Android 这台机器运转不好,android,ontouchlistener,onresume,Android,Ontouchlistener,Onresume,我在TouchListener上遇到了一些问题。我希望每次当用户触摸屏幕进入某个特定活动时,都能这样做。问题是,当我触摸屏幕时,它正在刷新当前活动并开始(当前活动包含ViewFlipper,当触摸屏幕时,ViewFlipper从一开始就开始翻转)。只有在第二次触摸时,应用程序才会进入下一个活动。谁能帮我解决这个问题 我当前的活动扩展了OnTouchListener,我设置了myviewflipper.setonTouchListener(此),我的onTouch()方法是: @Override
ViewFlipper
,当触摸屏幕时,ViewFlipper从一开始就开始翻转)。只有在第二次触摸时,应用程序才会进入下一个活动。谁能帮我解决这个问题
我当前的活动扩展了OnTouchListener
,我设置了myviewflipper.setonTouchListener(此)
,我的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();
}
}
我通过调用onPause()
方法上的finish()
来解决这个问题。你用调试器运行代码了吗?