在Android开发中,事件监听是必不可少的,经常用到,今天就来介绍一下几种事件监听的方法
-
事件监听
- 内部类方法
- 外部类方法
- 匿名内部类
- 本类监听方法
内部类方法
在Activity中创建一个类实现View.OnClickListener
类的onClick
方法
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = findViewById(R.id.button);
Button button1 = findViewById(R.id.button1);
//创建事件监听对象
MyOnClickListener myOnClickListener = new MyOnClickListener();
//给控件设置事件监听
button.setOnClickListener(myOnClickListener);
button1.setOnClickListener(myOnClickListener);
}
class MyOnClickListener implements View.OnClickListener{
@Override
public void onClick(View v) {
//事件操作
switch (v.getId()){
case R.id.button:
···
break;
case R.id.button1:
···
break;
······
}
}
}
}
外部类方法
在Activity外新建一个类实现View.OnClickListener
类的onClick
方法
MyOnClickListener类
public class MyOnClickListener implements View.OnClickListener {
@Override
public void onClick(View v) {
//事件操作
switch (v.getId()){
case R.id.button:
···
break;
case R.id.button1:
···
break;
······
}
}
}
Activity类
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = findViewById(R.id.button);
Button button1 = findViewById(R.id.button1);
//创建事件监听对象
MyOnClickListener myOnClickListener = new MyOnClickListener();
//给控件设置事件监听
button.setOnClickListener(myOnClickListener);
button1.setOnClickListener(myOnClickListener);
}
}
匿名内部类方法
在设置事件监听的同时设置内部类
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = findViewById(R.id.button);
Button button1 = findViewById(R.id.button1);
//给控件设置事件监听
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
···
}
});
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
···
}
});
}
}
本类监听方法
在Activity本类中实现View.OnClickListener
类的onClick
方法
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = findViewById(R.id.button);
Button button1 = findViewById(R.id.button1);
//给控件设置事件监听
button.setOnClickListener(this);
button1.setOnClickListener(this);
}
@Override
public void onClick(View v) {
//事件操作
switch (v.getId()){
case R.id.button:
···
break;
case R.id.button1:
···
break;
······
}
}
}
以上就是Android中实现事件监听的常用方法
- 本次文章分享就到这,有什么疑问或有更好的建议可在评论区留言,也可以私信我
- 感谢阅读~