2011-12-08 3 views

답변

7

java의 클래스에 인터페이스를 추가하려면 implements라는 단어를 추가 한 다음 클래스 이름을 활동 선언의 맨 위에 추가하기 만하면됩니다. 따라서 OnGenericMotionListener를 추가하려면 아래 코드를 사용하십시오.

public class MyActivity extends Activity implements OnGenericMotionListener { 

      @Override 
      public void onCreate(Bundle savedInstanceState) 
      { 
       super.onCreate(savedInstanceState); 

       TextView myView = new TextView(this); 

       myView.setOnGenericMotionListener(this); 
      } 

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


       return false; 
      } 

    } 

이벤트는 활동의 내부 onGenericMotion 함수를 호출합니다 발생 그래서 때이 MYVIEW의 GenericMotionListener을 설정합니다. onGenericMotion 함수에 전달 된 뷰의 id에 스위치를 사용하면 여러 뷰에 첨부 할 수 있습니다.

+0

그래서 첫 번째 매개 변수에서 뷰가 전달되는 이유는 myView에만 해당됩니다 ... 모든 뷰를 한 번에 수신하는 리스너가 있습니까? –

+2

@MikeG, 같은 수신기에 여러 개의보기를 연결할 수 있습니다.이 경우 어떤보기가 콜백을 호출하는지 어떻게 식별 할 수 있습니까? 이러한 이유 때문에 호출 뷰가 사용자의 편의를 위해 매개 변수로 전송됩니다. – st0le

관련 문제