Android 에서 이 벤트 를 클릭 하 는 네 가지 방법 에 대한 자세 한 설명

Android 에서 이 벤트 를 클릭 하 는 네 가지 쓰기
내부 클래스 를 사용 하여 클릭 이벤트익명 내부 클래스 를 사용 하여 클릭 이벤트
  • MainActivity 로 하여 금 View 를 실현 하 게 합 니 다.OnClickListener 인터페이스
  • 레이아웃 파일 을 통 해 컨트롤 의 속성
  • 첫 번 째 방법:내부 클래스 사용
    기본 절 차 는 다음 과 같다.
    1.MyOnClickListener 클래스 를 새로 만 들 고 View.OnClickListener 인 터 페 이 스 를 실현 합 니 다.
    2.View.OnClickListener 인터페이스 에 있 는 OnClick(View view)방법 다시 쓰기
    3.Button 에 모니터 를 연결 하고 클릭 이 벤트 를 감청 합 니 다.
    예제 코드 는 다음 과 같다.
    
    public class MainActivity extends Activity {
    private Button btn;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
      //            ,            
      super.onCreate(savedInstanceState);
      //    Activity      
      setContentView(R.layout.activity_main);
      //       findViewById  ,     id      
      btn = (Button) findViewById(R.id.button);
      //     (  OnClickListener) button       ,      
      btn.setOnClickListener(new MyOnClickListener());
    }
    
    /*  :   OnClickListener android.view.View   ,
         android.content.DialogInterface   。*/
    class MyOnClickListener implements View.OnClickListener{
      @Override
      public void onClick(View v) {
        System.out.println("           ");
      }
    }
    
    
    두 번 째 방법:익명 내부 클래스 사용
    기본 절 차 는 다음 과 같다.
    1.Button 에 게 모니터 를 연결 하고 클릭 이 벤트 를 감청 합 니 다.
    2.setOnClickListener 방법 에서 OnClickListener 대상 을 직접 전달 하고 OnClick 방법 을 실현 합 니 다.
    예제 코드 는 다음 과 같다.
    
    public class MainActivity extends Activity {
    private Button btn;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
      //            ,            
      super.onCreate(savedInstanceState);
      //    Activity      
      setContentView(R.layout.activity_main);
      //       findViewById  ,     id      
      btn = (Button) findViewById(R.id.button);
      //       (  OnClickListener) button       ,      
      btn.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
          System.out.println("             ");
          }
        });
      }
    }
    
    세 번 째 방법:MainActivity 가 View 를 직접 실현 하도록 합 니 다.OnClickListener 인터페이스
    기본 절 차 는 다음 과 같다.
    1.MainActivity 로 하여 금 View 를 직접 실현 하 게 합 니 다.OnClickListener
    2.MainActivity 클래스 에 onClick 방법 다시 쓰기
    3.Button 에 감청 기 를 연결 하고 클릭 이 벤트 를 감청 합 니 다.
    주:이때 setOnClickListener 가 들 어 오 는 것 은 this 입 니 다.
    예제 코드 는 다음 과 같다.
    
    public class MainActivity extends Activity implements OnClickListener {
    private Button btn;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
      //            ,            
      super.onCreate(savedInstanceState);
      //    Activity      
      setContentView(R.layout.activity_main);
      //       findViewById  ,     id      
      btn = (Button) findViewById(R.id.button);
      //  MainActivity  OnClickListener   button       ,      
      // :  setOnClickListener    this
      btn.setOnClickListener(this);
    }
    //  OnClickListener    onClick  
    @Override
    public void onClick(View v) {
      System.out.println(" MainActivity  View.OnClickListener          ");
      }
    }
    
    네 번 째 방법:레이아웃 파일 의 컨트롤 속성 을 통 해
    기본 절 차 는 다음 과 같다.
    1.activity 에서main.xml 에서 Button 컨트롤 에 Android:onClick="action"속성 을 추가 합 니 다.
    2.Activity 에서 action 방법 을 실현 하려 면 action 방법 은 다음 과 같은 세 가지 조건 을 만족 시 켜 야 한다.
    (1)방법의 접근 수식 자 는 Public 여야 합 니 다.
    (2)방법의 이름 은 android:onClick="action"의 이름과 완전히 일치 해 야 합 니 다.
    (3)형 삼 은 반드시 View 유형 이 어야 한다.
    예제 코드 는 다음 과 같다.
    
    public class MainActivity extends Activity {
    private Button btn;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
      //            ,            
      super.onCreate(savedInstanceState);
      //    Activity      
      setContentView(R.layout.activity_main);
      //       findViewById  ,     id      
      btn = (Button) findViewById(R.id.button);
      System.out.println("Button  "+btn);
    }
    //     button       ,      
    /**
     * 1:           public
     * 2:        android:onClick="call"         
     * 3:     View  
     *  :  View    Button    
     * */
    public void call(View view ){
      System.out.println("View  "+view);
      System.out.println("          ");
      }
    }
    
    우정 알림:형 삼 View 는 사실 Button 대상 자체 입 니 다.

    이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

    좋은 웹페이지 즐겨찾기