2010-01-10 65 views
8

我想要检测用户在Android应用程序的任何位置查看视图的任何位置。如何检测用户在Android中查看视图的时间

我的代码如下所示:

linearLayout = (LinearLayout) findViewById(R.id.linearLayout); // main layout 
// ... 
linearLayout.setOnTouchListener(this); 
// ... 
public boolean onTouch(View v, MotionEvent event) { 
    Toast.makeText(this, "Touch!", 1000); 
    if (event.getAction() == MotionEvent.ACTION_DOWN) { 
     Toast.makeText(this, "Down!", 1000); 
     return true; 
    } 
    return false; 
} 

...但是当我点击的看法,我不明白吐司!

触摸事件是否在模拟器中工作 - 或者我的代码中有错误吗?

+0

我一直在寻找相同的解决方案。感谢Biswajit – 2016-05-23 17:58:33

回答

12

我认为问题出在您的消息显示代码而不是触摸检测代码。

您正在创建Toast对象,但不显示它。您需要致电show() method

此外,the makeText() method的参数duration应该是LENGTH_SHORTLENGTH_LONG之一。

尝试:

Toast.makeText(this, "Down!", Toast.LENGTH_LONG).show(); 
+4

+1。我*总是*忘记添加'.show()'给我的敬酒! – 2010-01-10 15:01:41

+0

d'oh! + 1投票+ 1勾+谢谢x 2 – 2010-01-10 20:55:05

+0

我们都去过那里......好吧,无论如何......两次。 – 2010-03-02 18:11:51

相关问题