另一个活动的Android意图被多次执行
Posted
技术标签:
【中文标题】另一个活动的Android意图被多次执行【英文标题】:Android intent to another activity being executed multiple times 【发布时间】:2015-01-03 19:52:38 【问题描述】:我的意图是,当用户触摸启动屏幕活动上的任何位置时,他们会被定向到图库活动,这在大多数情况下似乎都可以正常工作,并且在运行应用程序时会按预期运行,直到按下后退按钮。按下时需要多次按下才能返回启动画面。
使用 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;
);
当意图被执行并且新活动(画廊)已经打开时,我进行了检查,显示的消息分别是“启动画面执行”和“画廊执行”。 这是 logcat 的副本。
启动画面已执行 / 画廊已执行 / 启动画面执行 / 图库已执行/
我不明白为什么会发生这种情况,而且我在研究方面有点死胡同,任何帮助将不胜感激。
谢谢你, 达蒙。
【问题讨论】:
看看这个答案:***.com/a/8182589/4224337 【参考方案1】:onTouch() 被多次调用,因为它可以识别多种触摸输入(DOWN、UP、MOVE...)。您可以通过编写 HERE 的示例来解决此问题,或者将布局侦听器更改为 OnClickListener,这将更易于实现(代码更少)。
【讨论】:
以上是关于另一个活动的Android意图被多次执行的主要内容,如果未能解决你的问题,请参考以下文章