第一种方法:
属性-方法
![](https://img-blog.csdnimg.cn/img_convert/0415a05f14ae6fd91000b5187735fa3e.png)
![](https://img-blog.csdnimg.cn/img_convert/4e5db79179e6ef1a5ea68504011caeed.png)
xml:
android:onClick="clickDemo1"//alt+enter .
java:
@Override
public void onClick(View view) {}
2.第二种方法:
匿名内部类实现按键监听
(1).先添加按键,生成一个id
![](https://img-blog.csdnimg.cn/img_convert/ab812c81085baaefe45062ee64103d92.png)
(2).定义对象并对对象进行实例化
![](https://img-blog.csdnimg.cn/img_convert/4f49701a6772487325d7d1de95e229f8.png)
(3).对象.方法 添加对象的匿名内部类
![](https://img-blog.csdnimg.cn/img_convert/8179050ad501b305c9049f3fde202f07.png)
xml 文件
<Button
android: id="@+id/bt1" />
.java 文件
privite Button bt;
bt=findViewById(R.id.bt1);
bt.setOnClickListener(new V...{
@Override
public void onClick{ Toast.makeText(FirstActivity.this,"Demo1",Toast.LENGTH_SHORT).show();
}
});//alt+enter
第三种方法:
实现接口的方法:
(1)添加接口
![](https://img-blog.csdnimg.cn/img_convert/a219c3523ce3527bd8e2705b1d27d347.png)
(2)添加监听器
![](https://img-blog.csdnimg.cn/img_convert/4df11ce7ae8fb1caa7d1d59bdf988003.png)
(3)实现接口
![](https://img-blog.csdnimg.cn/img_convert/87d1ded9dc5b28ffa9e53486149f6b2c.png)
//step1 public class FirstActivity extends AppCompatActivity implements View.OnClickListener{ private Button bt;
void onCreate(){
bt=findViewById(R.id.bt1);
//step2,设置监听器
bt.setOnClickListener(this);
}
//step3
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.bt1:
break;
}