How to detect when a user taps on a view in Android

android

Solution

I think the problem is with your message-displaying code rather than your touch-detecting code.

You're creating the `Toast` object but you're not displaying it. You need to call the `show()` method.

Also, the `duration` argument to the `makeText()` method should be one of `LENGTH_SHORT` or `LENGTH_LONG`.

Try:

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

Problem

I want to detect when a user taps anywhere in a view in my Android application. My code looks like this: ``` 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; } ``` ...but when I click on the view, I don't get Toast! Do touch events work in the emulator -- or have I got something wrong in my code?

Original source