Androidボタンクリックイベントのキャプチャ
1855 ワード
一.匿名の内部クラス
1.すべてのコントロールを初期化
2.findViewオブジェクトを返す
2.リスナーを設定し、リスナーでクリックを実現するために必要な方法
二.外部クラス
1.2.匿名の内部クラスと同じ手順で、すべてのコントロールを初期化し、findViewByIdメソッドでButtonオブジェクトを変換します.
3.外部クラスがOnClickListenerを継承しないことを定義します.これはメソッドではなくインタフェースです.
4.Buttonの自分の方法を定義する
三.インタフェース方式実現1,2ステップ同一
3.現在のクラスで対応するインタフェースを実現する
4.実行方法に必要なコードの作成
現在のクラスのインタフェースオブジェクトにthisでアクセス
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でアクセス