Как определить, когда пользователь нажимает на представление в Android - PullRequest
8 голосов
/ 10 января 2010

Я хочу определить, когда пользователь касается любого места в моем приложении 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;
}   

... но когда я нажимаю на вид, я не получаю тост!

Работают ли сенсорные события в эмуляторе - или я ошибся в своем коде?

1 Ответ

12 голосов
/ 10 января 2010

Я думаю, что проблема в вашем коде отображения сообщений, а не в вашем коде обнаружения касания.

Вы создаете объект Toast, но не отображаете его. Вам нужно вызвать метод show() .

Кроме того, аргумент duration для метода makeText() должен быть одним из LENGTH_SHORT или LENGTH_LONG.

Попробуйте:

Toast.makeText(this, "Down!", Toast.LENGTH_LONG).show();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...