2010-01-10 5 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 –

답변

12

나는이 문제가 터치 감지 코드가 아닌 메시지 표시 코드에 있다고 생각합니다.

Toast 개체를 만들었지 만 표시하지는 않습니다. show() method으로 전화해야합니다.

또한 duration의 인수는 LENGTH_SHORT 또는 LENGTH_LONG 중 하나 여야합니다.

시도 :

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

+1. 나는 항상 * .show()를 내 토스트에 추가하는 것을 잊고있다. –

+0

도! + 1 vote + 1 tick + thanks x 2 –

+0

우리는 모두 거기에 있었지만 ... 어쨌든 저는 두 번 있습니다. –

관련 문제