android 事件监听方法大全

1,内部类
btnButton.setOnClickListener(new MyListener());
class MyListener implements OnClickListener {
	@Override
	public void onClick(View v) {
		System.out.println("内部类响应点击事件");
	}
}

如果是多个按钮点击事件,可以用过switch 判断:
btnButton1 = (Button) findViewById(R.id.btnButtonA);
btnButton1.setOnClickListener(new MyListener());
btnButton2 = (Button) findViewById(R.id.btnButtonB);
btnButton2.setOnClickListener(new MyListener());
btnButton3 = (Button) findViewById(R.id.btnButtonC);
btnButton3.setOnClickListener(new MyListener());
class MyListener implements OnClickListener {
@Override
public void onClick(View v) {
    switch(v.getId()){
	case R.id.btnButtonA:
	    System.out.println("内部类响应点击事件btnButtonA");
	    break;
	case R.id.btnButtonB:
	    System.out.println("内部类响应点击事件btnButtonB");
	    break;
	case R.id.btnButtonC:
	    System.out.println("内部类响应点击事件btnButtonC");
	    break;
    }
}
}
2,匿名内部类
btnButton.setOnClickListener(new OnClickListener() {

	@Override
	public void onClick(View v) {
	System.out.println("匿名内部类响应按钮点击事件");
	}
});

3,布局文件夹定义事件属性,并在activity中声明方法

布局文件定义onclick 事件实现方法名btnOnClick

<Button
    android:id="@+id/loginButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:onClick="btnOnClick"
    android:layout_alignParentRight="true"
    android:text="登入" />

声明 "btnOnClick"方法

public void btnOnClick(View v) {
	System.out.println("定义属性响应按钮点击事件");
}

4,在主类中实现OncickListener接口,并在主类中实现未实现的方法

public class MainActivity extends Activity implements OnClickListener {

	btnButton.setOnClickListener(this);
	@Override
	public void onClick(View v) {
	    // TODO Auto-generated method stub

	}
}
5,直接new OncickListener 接口 并实现该方法

btnButton.setOnClickListener(clickListener);
	OnClickListener clickListener=new OnClickListener(){
	@Override
	public void onClick(View v) {
	    System.out.println("响应按钮点击事件");
	}
};



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章