Androidでクリックしたイベントの4つの書き方を詳しく説明します。


Androidでクリックしたイベントの4つの書き方
  • 内部クラスを使ってクリックイベントを実現する
  • 匿名の内部クラスを使用して、クリックイベントを実現する
  • は、MainActivityにView.OnClikListenerインターフェース
  • を実現させる。
  • レイアウトファイルにおけるコントロールの属性
  • 第一の方法:内部クラスを使用する
    基本的な手順は以下の通りです。
    1.MyOnClickListenerクラスを新規に作成し、View.OnClikListenerインターフェースを実現する。
    2.View.OnClikListenerインターフェースの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.set OnClickListener方法で直接に一つのOClikListenerオブジェクトに入ってきて、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.OnClikListenerインターフェースを実現させる。
    基本的な手順は以下の通りです。
    1.MainActivityに直接View.OnClikListenerを実現させる
    2.MainActivity類でonClickを書き換える方法
    3.Buttonにモニターをバインドし、クリックイベントを監督する。
    注:この時set OnClickListenerが入ってきたのは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方法は次の3つの条件を満たす必要があります。
    (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の対象そのものです。

    以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。