2013-10-20 3 views
0

나는 OnTouchListener을 구현하는 활동이 있습니다. 그런 다음이 등록 된 몇 가지 사용자 지정보기가 있습니다.OnTouchListener보기는 항상 동일합니다

customView1.setOnTouchListener(this); 
customView2.setOnTouchListener(this); 

나는 다음이 있습니다

@Override 
     public boolean onTouch(View view, MotionEvent event) { 

      if (view == customView1); { 

       t = Toast.makeText(this, "customView1", Toast.LENGTH_SHORT); 
       t.show(); 
      } 
} 

문제는 클릭 뷰가 customView1없는 경우에도 토스트가 표시됩니다 있다는 것입니다.

if (view.getId() == customView1.getId()) { 

     t = Toast.makeText(this, "customView1", Toast.LENGTH_SHORT); 
     t.show(); 
    } 

을하고 또한 당신이 바로 후 문 경우 세미콜론이 블록

답변

1

사용 View.getId() 대신 인스턴스의 비교의 다른보기에 onTouch를 얻을 수 있습니다. 그래서 당신의 경우에 상태가 쓸모 없다면.

그래서 제거; 아래 진술 후

if (view == customView1); 
1

경우 조건을 실행하는 경우 후 semicolon(;)을 제거 :

관련 문제