如何检测用户何时点按Android中的视图

时间:2010-01-10 11:59:11

标签: 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;
}   

...但是当我点击视图时,我没有得到Toast!

触摸事件是否在模拟器中起作用 - 或者我的代码中出了什么问题?

1 个答案:

答案 0 :(得分:12)

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

您正在创建Toast对象,但您没有显示它。您需要拨打show() method

此外,the makeText() methodduration参数应为LENGTH_SHORTLENGTH_LONG之一。

尝试:

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