第一种也是最开始就接触的方式,一般在activity组件的oncreate事件中直接定义,直接动做。这种方式每一个控件都定义一次,一般不方便.
web
Button btn = (Button) findViewById(R.id.myButton);spa
btn .setOnClickListener(new View.OnClickListener() {code
public void onClick(View v) {接口
//do something事件
}ci
});
第二种一般是在activity组件实现其接口,这样能够多外控件共享一个接口,这样相对方便
get
public
class
TestMedia
extends
Activity
implements
View.OnClickListener
{it
Button btn1 = (Button) findViewById(R.id.myButton1);
class
Button btn2 = (Button) findViewById(R.id.myButton2);
btn1 .setOnClickListener();
import
btn2 .setOnClickListener();
}
public void onClick(View v) {
switch (v.getId()) {
case R.id. myButton1:
//do something
break;
case R.id. myButton2:
//do something
break;
}
第三种相似第二种,这样的好处在于若是须要实现多个监听接口,这样更清晰
public
class
TestMedia
extends
Activity
{
Button btn1 = (Button) findViewById(R.id.myButton1);
Button btn2 = (Button) findViewById(R.id.myButton2);
btn1 .setOnClickListener(new
ClickEvent());
btn2 .setOnClickListener(
new
ClickEvent());
}
ClickEvent
class
implements
View.OnClickListener
public void onClick(View v) {
switch (v.getId()) {
case R.id. myButton1:
//do something
break;
case R.id. myButton2:
//do something
break;
}