监听Button点击的事件的方式
一.采用匿名内部类 适用于单个事件
代码语言:javascript复制public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_1);
Button btn= (Button) findViewById(R.id.btn_show);//获得button
btn.setOnClickListener(new View.OnClickListener() {//注册监听器
@Override
public void onClick(View v) {
//响应方法
}
});
}
}
二.实现View.OnClickListener接口 使用于多个事件
代码语言:javascript复制public class MainActivity extends AppCompatActivity implements View.OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_1);
Button btn= (Button) findViewById(R.id.btn_show);//获得button
btn.setOnClickListener(this);//注册监听器
}
@Override
public void onClick(View v) {
//响应方法
}
}
三.在XML布局中使用onClick属性 操作简单但不易维护
代码语言:javascript复制public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_1);
}
public void method(View view){
//响应方法
}
}
XML代码:
代码语言:javascript复制 <Button
android:id="@ id/btn_show"
android:layout_width="48dp"
android:layout_height="48dp"
android:onClick="method" />