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();
}
}