button和imageButton都拥有一个onClick事件。
通过自身的setOnClickListener(OnClickListtener);方法添加点击事件。
所有控件都拥有一个onClick事件,通过点击事件的监听可以实现点击按钮之后要进行的动作。
监听事件实现的几种类型。
1.匿名内部类的实现。
(1): 初始化当前所需要的控件。
声明 ?
private
Button
loginButton
;
获取button
loginButton
=(Button) findViewById(R.id.
button1
); //
findViewById(R.id.
button1
); 返回的是一个View对象。
设置button监听器 通过监听器实现点击button要实现的事情(监听事件,触发匿名内部类)
loginButton
.setOnClickListener(
new
OnClickListener() {
@Override
public
void
onClick(View v) {
//在当前onclick方法中监听点击button的动作
}
});
2.独立类的实现。
bt1
=(Button) findViewById(R.id.
button1
);
bt2
=(ImageButton) findViewById(R.id.
imageButton1
);
bt1
.setOnClickListener(
new
MyOnClickListener(){
@Override
public
void
onClick(View v) {
// 调用父类的OnClick事件
super
.onClick(v);
Toast. makeText(MainActivity.
this
,
"bt1"
, 1).show();
}
});
bt2
.setOnClickListener(
new
OnClickListener() {
@SuppressLint
(
"NewApi"
)
@Override
public
void
onClick(View v) {
findViewById(R.id.
button1
).setAlpha(0.9f);
}
});
//外部类 继承该类时,会触发该类的
onClick方法。
class
MyOnClickListener
implements
OnClickListener {
@Override
public
void
onClick(View v) {
//
TODO
Auto-generated method stub
v.setAlpha(0.1f);
}
}
3.实现接口的方式来实现。
//实现OnClickListener接口的onClick方法。
public
class
MainActivity
extends
ActionBarActivity
implements
OnClickListener {
bt2
.setOnClickListener(
this
);
@Override
public
void
onClick(View v) {
Toast. makeText(MainActivity.
this
,
"接口"
, 1).show();
}
}