我的意图是,当用户触碰屏幕活动中的任何地方时,他们就会被指向图片库活动,这在很大程度上似乎很好,并且在运行应用程序时会按下“后退”按钮。按下时,需要多次按压才能返回到闪存屏幕。
使用logcat,我能够发现这个意图被多次运行,但是我无法理解为什么,下面是这个意图的方法。
private void FullScreenOnTouchEvent() {
LinearLayout layout = (LinearLayout) findViewById(R.id.activity_splashscreen_layout);
layout.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
startActivity(new Intent(Splashscreen.this, Gallery.class));
Log.d("Splashscreen", "splashscreen executed");
return true;
}
});
}当执行意图和打开新的活动(图库)时,我进行了检查,显示的消息分别是“执行的”和“执行的”。这是一份日志的副本。
已执行的屏幕/库已执行/屏幕已执行/库已执行/
我不知道为什么这是集中,我在一个没有尽头的研究明智,任何帮助将不胜感激。
谢谢你达蒙
发布于 2015-01-03 20:10:27
onTouch()被多次调用,因为它识别多种类型的触摸输入(向下、向上、移动.)。您可以通过编写一个示例HERE或将布局侦听器更改为http://developer.android.com/reference/android/view/View.OnClickListener.html来解决这个问题,这将更容易实现(更少的代码)。
https://stackoverflow.com/questions/27758929
复制相似问题