您的位置:首页 > 移动开发 > Android开发

Android 事件监听器接口实现方法

2014-07-19 17:37 447 查看
在构造方法中使用匿名内部类实现事件监听器接口

一  通常在activity组件的onCreate事件中直接定义,直接动作。代码如:

public void onCreate(Bundle savedInstanceState) {
…
Button button1 = (Button)findViewById(R.id. myButton1);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
…;
}
});
…
}

这种方式每个控件都定义一次,通常不方便。

 

二  外部类实现事件监听器接口

通常是在Activity组件中实现其接口。代码如:

public class TestMedia extends Activity implements View.OnClickListener{
…
@override
public void onCreate(Bundle savedInstanceState) {
…
Button btn1 = (Button) findViewById(R.id.myButton1);
Button btn2 = (Button) findViewById(R.id.myButton2);
btn1 .setOnClickListener();
btn2 .setOnClickListener();
}
…
@override
public void onClick(View v) {
switch (v.getId()) {
case R.id. myButton1:
…//do something
break;
case R.id. myButton2:
… //do something
break;
}
}
}

这种在Activity 组件中实现其接口,可以让多个外部控件共享一个接口(多个控件可以通过一个onClick()来定义它们的回调操作。)

 

三   
内部类实现事件监听器接口

类似于第二种,代码如:

public class TestMedia extends Activity {
…
@override
public void onCreate(Bundle savedInstanceState) {
…
Button btn1 = (Button) findViewById(R.id.myButton1);
Button btn2 = (Button) findViewById(R.id.myButton2);
btn1 .setOnClickListener(new ClickEvent());
btn2 .setOnClickListener(new ClickEvent());
}
…
class ClickEvent 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;
}
}
}
}


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: