importandroid.support.v7.app.AppCompatActivity;importandroid.os.Bundle;importandroid.view.View;importandroid.widget.Button;importandroid.widget.ImageButton;importandroid.widget.Toast;//按钮的三种方法 优先度 方法1>方法三>方法二 监听方法>实现方法>xml定义onclick方法
public class MainActivity extends AppCompatActivity implementsView.OnClickListener {privateView view;privateButton button1;privateButton button2;privateButton button3;privateImageButton imageButton;
@Overrideprotected voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
view= this.findViewById(R.id.mainview);
button1= (Button) this.findViewById(R.id.button1);
button2= (Button) this.findViewById(R.id.button2);
button3= (Button) this.findViewById(R.id.button3);
imageButton= (ImageButton) this.findViewById(R.id.imageButton);
button1.setOnClickListener(this);
button2.setOnClickListener(this);
button3.setOnClickListener(this);
imageButton.setOnClickListener(this);//只有view有onclicklistener事件
view.setOnClickListener(newView.OnClickListener() {
@Overridepublic voidonClick(View v) {
Toast.makeText(MainActivity.this, "view click", 1).show();
}
});//方法1 设置监听
button1.setOnClickListener(newView.OnClickListener() {
@Overridepublic voidonClick(View v) {
Toast.makeText(MainActivity.this, "button1 click", 1).show();
}
});//长按监听
button1.setOnLongClickListener(newView.OnLongClickListener() {
@Overridepublic booleanonLongClick(View v) {
Toast.makeText(MainActivity.this, "button1 long click", 1).show();return false;
}
});
imageButton.setOnClickListener(newView.OnClickListener() {
@Overridepublic voidonClick(View v) {
Toast.makeText(MainActivity.this, "imagebutton click", 1).show();
}
});
}//方法二 响应按钮点击//xml里面设置android:onclick里面方法只需要名字 不需要括号//1.必须public 2.必须void 3.形参必须只有一个 而且为View对象
public voidxmlClick(View view) {
Toast.makeText(MainActivity.this, "button2 click", 1).show();
}//方法三//实现OnClickListener接口 重写onclick方法 控件设置监听方法setOnClickListener(this)
@Overridepublic voidonClick(View v) {switch(v.getId()) {caseR.id.button1:
Toast.makeText(MainActivity.this, "method 3 button1 click", 1).show();break;caseR.id.button2:
Toast.makeText(MainActivity.this, "method 3 button2 click", 1).show();break;caseR.id.button3:
Toast.makeText(MainActivity.this, "method 3 button3 click", 1).show();break;caseR.id.imageButton:
Toast.makeText(MainActivity.this, "method 3 imagebutton click", 1).show();break;default:
Toast.makeText(MainActivity.this, "others click", 1).show();break;
}
}
}