为按钮添加点击事件的三种方式

1 使用匿名类方式注册监控器

private Button button;
button = (Button) findViewById(R.id.button);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// 在此处添加逻辑
}
});

2 实现接口的方式注册监控器

public class MainActivity extends Activity implements OnClickListener {
private Button button;
@Override
protected void onCreate(Bundle savedInstanceState) 
    {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    button = (Button) findViewById(R.id.button);
    button.setOnClickListener(this);
    }
@Override
public void onClick(View v)
 {
switch (v.getId()) 
    {
    case R.id.button:
    // 在此处添加逻辑
    break;
    default:
    break;
    }
 }}

3 XML 中设置 android:clickable=”true”

<Button
android:id="@+id/myButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="My Button"
/>

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//获取按钮对象
Button myButton = (Button)findViewById(R.id.myButton);
//添加监听器
myButton.setOnClickListener(clickListener);
}
//处理单击事件的监听对象
View.OnClickListener clickListener = new View.OnClickListener() {
public void onClick(View v) {
//处理单击事件的代码
}
};

猜你喜欢

转载自blog.csdn.net/xuyong282373443/article/details/75600508