Androidボタンクリックイベントのキャプチャ

1855 ワード

一.匿名の内部クラス
1.すべてのコントロールを初期化
  private Button loginButton;

2.findViewオブジェクトを返す
loginButton = (Button) findViewById(R.id.button);//        Button 

2.リスナーを設定し、リスナーでクリックを実現するために必要な方法
loginButton.setOnClickListener(new OnClickListener()
        {
            
            @Override
            public void onClick(View arg0) {//   OnClick       Button   
                // TODO Auto-generated method stub
                func();//      
            }
        }
        );
    }

二.外部クラス
1.2.匿名の内部クラスと同じ手順で、すべてのコントロールを初期化し、findViewByIdメソッドでButtonオブジェクトを変換します.
3.外部クラスがOnClickListenerを継承しないことを定義します.これはメソッドではなくインタフェースです.
    class MyOnClickListener implements OnClickListener{
        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            funcAll();//              
        }       
    }

4.Buttonの自分の方法を定義する
        loginButton = (Button) findViewById(R.id.button);
        loginButton.setOnClickListener(new MyOnClickListener()
            {
                @Override
                public void onClick(View v){
                    super.onClick(v);//    ,   MyOnClickListener            
                    funcSpecial();//            
                }
            }
        );

三.インタフェース方式実現1,2ステップ同一
3.現在のクラスで対応するインタフェースを実現する
public class MainActivity extends Activity implements OnClickListener{

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        func();//          
    }
}

4.実行方法に必要なコードの作成
        loginButton = (Button) findViewById(R.id.button);
        loginButton.setOnClickListener(this);

現在のクラスのインタフェースオブジェクトにthisでアクセス